[주의!] 문서의 이전 버전(에 수정)을 보고 있습니다. 최신 버전으로 이동
↑ 상위 문서: ACL
1. 개요[편집]
the seed의 ACL에 대해 정리한 문서.
2. ACL의 종류[편집]
2.1. 문서 ACL[편집]
- 특정 문서에만 적용되는 ACL.
- 문서 ACL이 존재할 경우, 해당 문서의 권한 판정 시 우선 적용된다.
2.2. 이름공간 ACL[편집]
- 특정 이름공간 전체에 적용되는 ACL.
- 문서 ACL이 존재하지 않거나, 특정 권한 타입에 대해 문서 ACL이 정의되지 않은 경우에만 사용된다.
- 이름공간 ACL을 편집하려면 nsacl 권한이 필요하다.
3. 권한 타입[편집]
각 문서/이름공간 ACL은 다음 8가지 타입[1]에 대해 개별적으로 규칙을 설정할 수 있다.
3.1. 읽기 (read)[편집]
- 문서를 읽을 수 있는 권한.
- 읽기 권한이 없으면 문서 열람뿐만 아니라 대부분의 작업(편집, 이동, 삭제, 토론 등)도 차단된다.[2]
- 읽기 타입은 이름공간 ACL에만 존재한다.
3.2. 편집 (edit)[편집]
- 문서를 편집할 수 있는 권한.
- 편집 권한이 없으면 문서 이동과 삭제도 불가능하다.
3.3. 이동 (move)[편집]
- 문서를 이동할 수 있는 권한.
3.4. 삭제 (delete)[편집]
- 문서를 삭제할 수 있는 권한.
3.5. 토론 생성 (create_thread)[편집]
- 토론을 생성할 수 있는 권한.
3.6. 토론 댓글 (write_thread_comment)[편집]
- 토론에 댓글을 작성할 수 있는 권한.
- 토론 댓글 권한이 없으면 토론 생성도 불가능하다.
3.7. 편집 요청 (edit_request)[편집]
- 편집 요청을 생성할 수 있는 권한.
3.8. ACL (acl)[편집]
- ACL을 설정하고 수정할 수 있는 권한.
4. ACL 규칙의 구성[편집]
각 ACL 규칙은 다음 항목들로 구성된다.
4.1. No (순서)[편집]
- ACL 규칙은 순서대로 실행된다.
- 규칙의 No는 추가한 순서대로 자동 증가하지만, 이후 드래그 앤 드롭으로 변경할 수 있다.
4.2. Condition (조건)[편집]
ACL이 적용될 대상을 지정한다. 다음과 같은 조건을 설정할 수 있다.
4.3. Action (동작)[편집]
조건에 일치하는 대상에게 어떤 동작을 할지 결정한다.
- 허용(allow): 허용함
- 거부(deny): 거부함
- 이름공간 ACL 실행(gotons): 조건에 일치하는 대상은 이름공간 ACL을 실행함 (문서 ACL에서만 사용 가능)
4.4. Duration (기간)[편집]
해당 ACL 규칙이 유효한 기간.
- 영구: 영구적으로 적용
- 날짜 지정: 특정 날짜까지 적용 (e.g. 2025-12-31)
5. 규칙 평가 방식[편집]
- ACL은 권한 타입별로 따로 평가된다. 즉, 읽기 타입과 편집 타입의 규칙은 서로 영향을 주지 않는다.
- 각 타입마다 설정된 규칙은 No 순서대로 실행된다.
- 조건에 일치하는 규칙이 있으면 해당 규칙의 Action을 실행하고 종료한다.
- 끝까지 조건이 일치하는 규칙이 없어 규칙의 끝에 도달한다면 거부된다.
6. 권한 부족 메시지[편집]
ACL에서 권한이 부족할 때 세 가지 방식으로 메시지를 제공한다. ACL에서 자주 사용되는 권한(perm)은 한글화되어 있다.[3]
규칙에서 직접 거부[4]되었을 때
거부당한 사유를 안내한다.
e.g.
규칙에서 직접 거부[4]되었을 때
거부당한 사유를 안내한다.
e.g.
- 아무나이기 때문에 편집 권한이 부족합니다.
- 아이피 사용자이기 때문에 토론 댓글 권한이 부족합니다.
- 편집 권한이 부족합니다. 문서 제목과 사용자 이름이 일치(이)여야 합니다.
- 삭제 권한이 부족합니다. 특정 사용자 OR 관리자(이)여야 합니다.
7. 기타[편집]
- 한 권한 타입에 같은 Condition을 가진 규칙을 2개 이상 생성할 수 없다.
- 문서 ACL의 ACL 권한 타입 편집은 nsacl 권한이 필요하다. 추가로 nsacl 권한이 있다면 문서 ACL의 ACL 권한 타입 설정의 영향을 받지 않는다.(거부되어도 ACL 편집이 가능하다.)