강의

멘토링

커뮤니티

Inflearn Community Q&A

hyukster90666's profile image
hyukster90666

asked

Complete Guide to Python/Django Web Service Development with React

Authentication and Permission

django 기본 제공해주는 권한 사용할려면

Written on

·

417

0

상기 그림과 같이
django 기본 제공해주는 권한 사용할려면
DjangoModelPermissions를 사용해야되나요?
 
생각보다 많이 어렵네요 
reactpythondockerdjango

Answer 1

0

pyhub님의 프로필 이미지
pyhub
Instructor

안녕하세요.

말씀하신 대로 DRF에서 제공하는 Permissions 클래스 중에 장고 기본의 권한 시스템을 활용할려면 DjangoModelPermissions 클래스나 DjangoObjectPermissions 클래스를 사용해볼 수 있습니다.

DjangoModelPermissions는 has_permissions를 구현하였으며, DjangoModelPermissions.perms_map 매핑 대로, 해당 APIView가 호출될 때 request.method의 권한을 체크하게 됩니다. // 아래의 perms_map을 보시면 GET 요청은 빈 리스트로서 별도의 권한 체크를 하지 않습니다. 그러니 DjangoModelPermissions가 지정되어있는 APIView에 권한이 없는 조회 요청도 허용이 됩니다. 

장고 기본의 권한 시스템에서는 기본적으로 각 모델 별로 view/add/change/delete 권한을 사용할 수 있도록 미리 세팅되어져있습니다. 'GET' 요청 시에 view 권한을 지정할려면 ['%(app_label)s.view_%(model_name)s'] 을 지정하시어 처리를 해보실 수도 있습니다.

DjangoObjectPermissions 클래스는 DjangoModelPermissions를 상속받았으며, has_object_permissions를 구현하였습니다. APIView의 get_object가 호출이 될 때, DjangoObjectPermissions.perms_map 매핑대로 request.method의 권한을 체크하게 됩니다.

화이팅입니다. :-)

hyukster90666's profile image
hyukster90666

asked

Ask a question