Study/django
Django - 커스텀 Table을 이용한 관리 권한 구현
bluebamus
2022. 9. 27. 16:43
* auth_permission : 마이그레이션을 할 때마다 자동으로 DB에 대한 CURD에 관련한 데이터를 생성함
- 해당 테이블과 기능만 사용해서 관리 권한 서비스 구현 가능
* 기존 django 권한 관리는 사용자 테이블의 is_superuser 라는 flag를 이용한다
* 인증 모델 관련 Table
- auth_group : 기본 생성
- auth_group_permission : 기본 생성
- auth_user_group : 커스텀 생성
- auth_user_user_permission : 커스텀 생성
* 권한 부여의 관점
- 사용자 그룹에 권한을 제공 (간접 할당)
- 사용자 계정에 권한을 제공 (직접 할당)
* 장보 기본 모델의 활용
- auth_group : 사용자 그룹
- auth_user_group : 관리될 사용자 등록
- auth_group_permission : 사용자들이 속한 그룹의 관리 권한
ex) 'root_manager' (상위 관리자 전용) : 삭제, 이동, 변경
' monitor_manager' (모니터 관리자 전용) : 문제 발생 감시, 확인, 통보
from django.contrib.auth.mixins import PermissionRequiredMixin
class A_Mixin(PermissionRequiredMixin):
def ...