-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
af799d7
commit 6f8e7a8
Showing
55 changed files
with
1,550 additions
and
0 deletions.
There are no files selected for viewing
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 %} | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
# 인증 | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
# 권한인가 | ||
|
||
이석찬의 권한 정책은 역할 기반 접근 제어 모델(Role-based Access Control, RBAC)를 따릅니다.  | ||
|
||
사용자와 역할을 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 | 시스템 파일에 대한 삭제 권한 | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
--- | ||
description: 기능 심화 그룹에 대한 개요를 담습니다. | ||
--- | ||
|
||
# 개요 | ||
|
||
기능 심화에서는 이석찬의 핵심 기능들이 어떠한 원리에 의해 구동되는지에 대해 기술합니다. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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/` 입니다. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 %} |
Oops, something went wrong.