Skip to content

Commit

Permalink
GitBook: [#48] No subject
Browse files Browse the repository at this point in the history
  • Loading branch information
gitbook-bot committed Jan 3, 2022
1 parent af799d7 commit 6f8e7a8
Show file tree
Hide file tree
Showing 55 changed files with 1,550 additions and 0 deletions.
Binary file added .gitbook/assets/2019-11-09_130627.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .gitbook/assets/byncnd.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .gitbook/assets/image (1).png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .gitbook/assets/image (10).png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .gitbook/assets/image (11).png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .gitbook/assets/image (12).png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .gitbook/assets/image (13).png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .gitbook/assets/image (14).png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .gitbook/assets/image (15).png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .gitbook/assets/image (16).png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .gitbook/assets/image (17).png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .gitbook/assets/image (18).png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .gitbook/assets/image (19).png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .gitbook/assets/image (2).png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .gitbook/assets/image (20).png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .gitbook/assets/image (21).png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .gitbook/assets/image (22).png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .gitbook/assets/image (23).png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .gitbook/assets/image (3).png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .gitbook/assets/image (4).png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .gitbook/assets/image (5).png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .gitbook/assets/image (6).png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .gitbook/assets/image (7).png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .gitbook/assets/image (8).png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .gitbook/assets/image (9).png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .gitbook/assets/image.png
Binary file added .gitbook/assets/그림1.png
Binary file added .gitbook/assets/그림2.png
Binary file added .gitbook/assets/사진제보.png
Binary file added .gitbook/assets/의견제출.png
14 changes: 14 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
description: 강원과학고등학교 통합 이석 관리 플랫폼 이석찬의 활용 가이드북입니다.
---

# 이석찬 매뉴얼 :: 홈

{% hint style="success" %}
본 문서는 2019년 11월 09일 생성, 2019년 11월 09일 최종 수정되었습니다.
{% endhint %}

{% hint style="info" %}
 2018-2019 KSHS Pointer 26th. All Rights Reserved.
{% endhint %}

41 changes: 41 additions & 0 deletions SUMMARY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# Table of contents

* [이석찬 매뉴얼 :: 홈](README.md)

## 메인 <a href="#main" id="main"></a>

* [사이트 접속 방법](main/access.md)
* [메인화면](main/main/README.md)
* [이미지 저작권 표시](main/main/image-lisence.md)
* [의견 제출](main/main/submit-opinion.md)
* [사진 제출](main/main/submit-image.md)
* [개인정보처리방침](main/main/privacy\_policy.md)
* [서비스 저작권 표시](main/main/undefined.md)
* [이석찬 설치하기](main/installation.md)

## 기본 기능 <a href="#basic-functionalities" id="basic-functionalities"></a>

* [개요](basic-functionalities/overview.md)
* [이석 신청](basic-functionalities/apply.md)
* [이석 확인](basic-functionalities/check.md)
* [이석 관리](basic-functionalities/manage.md)

## 기능 심화 <a href="#advanced-functionalities" id="advanced-functionalities"></a>

* [개요](advanced-functionalities/overview.md)
* [인증](advanced-functionalities/authentication.md)
* [권한인가](advanced-functionalities/authorization.md)

## API

* [개요](api/overview.md)
* [기본 API](api/basic-api/README.md)
* [Auth](api/basic-api/auth.md)
* [Iseok](api/basic-api/iseok.md)
* [Period](api/basic-api/period.md)
* [Room](api/basic-api/room.md)

## 관리자 가이드

* [개요](undefined/undefined.md)
* [전역설정](undefined/undefined-1.md)
2 changes: 2 additions & 0 deletions advanced-functionalities/authentication.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# 인증

53 changes: 53 additions & 0 deletions advanced-functionalities/authorization.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# 권한인가

이석찬의 권한 정책은 역할 기반 접근 제어 모델(Role-based Access Control, RBAC)를 따릅니다.&#x20;

사용자와 역할을 1:1 관계이며 각 역할에 아래와 같은 역할 비트 플래그를 지정할 수 있습니다.

| 이름 || 비트 |
| -------------- | --------------------------------------------------------------------------- | --- |
| 접근 권한 플래그 | 이석 신청 / 이석 관리 / 이석 확인 / API / 관리자 페이지 / 기숙사 관리 / 학생 벌점 관리 페이지 접근 권한을 설정합니다. | 8 |
| 이석 상태 변경 권한 플래 | 1단계 / 2단계 / 3단계 / 4단계 / 5단계 이석 상태를 설정할 수 있는 권한을 설합니다. | 5 |
| 파일 접근 권한 플래 | 이석찬에 업로드 된 파일에 접근할 수 있는 권한을 설정합니다. | 12 |

각 비트 플래그에 대한 자세한 내용은 아래와 같습니다.

#### 1. 접근 권한 플래그

| 상수 이름 | 비트 | 정수 ||
| --------------------------------- | -------- | --- | ---------- |
| FLAG\_PERM\_ACCESS\_ISEOK\_APPLY | 00000001 | 1 | 이석 신청 페이지 |
| FLAG\_PERM\_ACCESS\_ISEOK\_CHECK | 00000010 | 2 | 이석 확인 페이지 |
| FLAG\_PERM\_ACCESS\_ISEOK\_MANAGE | 00000100 | 4 | 이석 관리 페이 |
| FLAG\_PERM\_ACCESS\_API | 00001000 | 8 | 이석찬 API |
| FLAG\_PERM\_ACCESS\_ADMIN | 00010000 | 16 | 관리자 페이지 |
| FLAG\_PERM\_ACCESS\_DORMITORY | 00100000 | 32 | 기숙사 관리 페이지 |
| FLAG\_PERM\_ACCESS\_PENALTY | 01000000 | 64 | 벌점 관리 페이 |
| FLAG\_PERM\_ACCESS\_BLANK1 | 10000000 | 128 | 여분 비트 플래 |

#### 2. 이석 상태 변경 권한 플래 <a href="#1" id="1"></a>

| 상수 이름 | 비트 | 정수 값 | 설명 |
| ------------------------------------ | -------- | ---- | --------------- |
| FLAG\_PERM\_ISEOK\_STATUS\_UPDATE\_1 | 00000001 | 1 | 이석 상태 1단계 설정 권한 |
| FLAG\_PERM\_ISEOK\_STATUS\_UPDATE\_2 | 00000010 | 2 | 이석 상태 2단계 설정 권한 |
| FLAG\_PERM\_ISEOK\_STATUS\_UPDATE\_3 | 00000100 | 4 | 이석 상태 3단계 설정 권한 |
| FLAG\_PERM\_ISEOK\_STATUS\_UPDATE\_4 | 00001000 | 8 | 이석 상태 4단계 설정 권한 |
| FLAG\_PERM\_ISEOK\_STATUS\_UPDATE\_5 | 00010000 | 16 | 이석 상태 5단계 설정 권한 |

#### 3. 파일 접근 권한 플래그

| 상수 이름 | 비트 | 정수 ||
| -------------------------------- | ------------ | ---- | ----------------- |
| FLAG\_PERM\_FILE\_MY\_CREATE | 000000000001 | 1 | 개인 파일에 대한 업로드 권한 |
| FLAG\_PERM\_FILE\_MY\_READ | 000000000010 | 2 | 개인 파일에 대한 읽기 권한 |
| FLAG\_PERM\_FILE\_MY\_UPDATE | 000000000100 | 4 | 개인 파일에 대한 수정 권한 |
| FLAG\_PERM\_FILE\_MY\_DELETE | 000000001000 | 8 | 개인 파일에 대한 삭제 권한 |
| FLAG\_PERM\_FILE\_PUBLIC\_CREATE | 000000010000 | 16 | 공개 파일에 대한 업로드 권한 |
| FLAG\_PERM\_FILE\_PUBLIC\_READ | 000000100000 | 32 | 공개 파일에 대한 읽기 권한 |
| FLAG\_PERM\_FILE\_PUBLIC\_UPDATE | 000001000000 | 64 | 공개 파일에 대한 수정 권한 |
| FLAG\_PERM\_FILE\_PUBLIC\_DELETE | 000010000000 | 128 | 공개 파일에 대한 삭제 권한 |
| FLAG\_PERM\_FILE\_SYSTEM\_CREATE | 000100000000 | 256 | 시스템 파일에 대한 업로드 권한 |
| FLAG\_PERM\_FILE\_SYSTEM\_READ | 001000000000 | 512 | 시스템 파일에 대한 읽기 권한 |
| FLAG\_PERM\_FILE\_SYSTEM\_UPDATE | 010000000000 | 1024 | 시스템 파일에 대한 수정 권한 |
| FLAG\_PERM\_FILE\_SYSTEM\_DELETE | 100000000000 | 2048 | 시스템 파일에 대한 삭제 권한 |
7 changes: 7 additions & 0 deletions advanced-functionalities/overview.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
description: 기능 심화 그룹에 대한 개요를 담습니다.
---

# 개요

기능 심화에서는 이석찬의 핵심 기능들이 어떠한 원리에 의해 구동되는지에 대해 기술합니다.
17 changes: 17 additions & 0 deletions api/basic-api/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
description: 기본 API 사용 설명에 대한 안내입니다.
---

# 기본 API

## 기본 API란?

기본 API는 특별한 권한 없이 접근할 수 있는 API를 말합니다. 이 API에서는 제거된 항목에 대해서는 다루지 않습니다. 따라서 모든 결과값의 데이터 제거 시각은 실제 사용에 의미가 없으며 반환된 모든 데이터는 제거되지 않은 데이터입니다.

{% hint style="info" %}
관리자의 재량에 따라 기본 API도 접근이 제한될 수 있습니다. (IP 제한, 시간당 요청 수 제한 등)
{% endhint %}

## 이석찬 API 활용하기

이석찬 API의 ROOT URL은 `https://api.iseokchan.com/api/` 입니다.
66 changes: 66 additions & 0 deletions api/basic-api/auth.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
---
description: 인증과 관련된 API 명세입니다.
---

# Auth

{% swagger baseUrl="https://api.iseokchan.com" path="/v1/auth/login" method="post" summary="Login" %}
{% swagger-description %}
로그인을 위한 API 입니다. 로그인 성공 시 JWT 토큰을 반환하며, 로그아웃 실패 시 404 Not Found를 반환합니다.
{% endswagger-description %}

{% swagger-parameter in="query" name="username" type="string" %}
Username
{% endswagger-parameter %}

{% swagger-parameter in="query" name="password" type="string" %}
User Password
{% endswagger-parameter %}

{% swagger-response status="200" description="When success fully logged in." %}
```javascript
// 302 Temporary Redirect to root
// JWT token will be offered to Cookie.
```
{% endswagger-response %}

{% swagger-response status="404" description="When login failed." %}
```
{
"status": 404,
"error": 404,
"messages": {
"error": "Not Found"
}
}
```
{% endswagger-response %}
{% endswagger %}

{% swagger baseUrl="https://api.iseokchan.com/" path="v1/auth/logout" method="get" summary="Logout" %}
{% swagger-description %}
로그아웃을 위한 API 입니다. 로그아웃 성공 시 200 OK를 반환하며, 로그아웃 실패 시 401 Unauthorized를 반환합니다.
{% endswagger-description %}

{% swagger-response status="200" description="When successfully logged out." %}
```javascript
// no content
```
{% endswagger-response %}

{% swagger-response status="401" description="When logout failed." %}
```
{
"status": 401,
"error": 401,
"messages": {
"error": "Unauthorized"
}
}
```
{% endswagger-response %}
{% endswagger %}

{% hint style="warning" %}
Auth API는 인증 관련 API로 사용자의 민감한 정보에 접근합니다. 따라서 이석찬은 해당 API 사용 기록을 로그하며, 과도한 요청이 이루어지는 경우 일시적으로 요청이 차단될 수 있습니다.
{% endhint %}
Loading

0 comments on commit 6f8e7a8

Please sign in to comment.