솔직히 말하면 아직 잘 이해하기는 어렵지만 이해한 바는 다음과 같다.
has_permission의 경우 view에 접근하자마자 권한을 체크하는 거고, has_object_permission은 객체에 접근할 때 권한을 체크한다. 일반적인 GET(Read List) 혹은 Post(Create)의 경우는 has_permission으로. has_object_permission은 기존의 오브젝트에 접근해야하는 Retrieve나 Update Delete에 해당하는 methods에서 권한을 체크한다는 것이다.
https://ssungkang.tistory.com/entry/Django-Authentication-%EA%B3%BC-Permissions
[Django] Authentication 과 Permissions
DRF 에서의 접근제한을 알아보도록 하겠습니다. 우선 기본적으로 접근제한을 제외한 기본적인 코드들에 대해서는 설명을 생략하겠습니다. 앞의 포스팅들을 참고해주세요. 현재 까지의 진행 상
ssungkang.tistory.com
문제는 이렇게 구현하면 너무 복잡하거나 번거롭지 않을까? 라고 생각했는데 groups 라는 것이 또 있었다. group을 나누고 각 그룹에 권한을 부여하면 특정 User를 그룹에 넣었다 뺐다 하는 것만으로 관리가 된다는 것이다.
요즘 정신이 없어서 그런지 몰라도 무엇을 해야할지 고민이 된다. 지금까지 알고 있던 permission을 사용하느냐? 아니면 group을 써보느냐... 고민이다.
그룹을 정의하는 것은 단 한번만 이루어지면 되기에 custom management command를 생성하여 한번만 해주면 된다고 한다. 물론 특정 그룹을 정의하는 건 내가 해야만 한다
# custom command를 만드는 예시
# myapp/management/commands/mycommand.py
from django.core.management.base import BaseCommand
class Command(BaseCommand):
help = 'Describe what the command does'
def handle(self, *args, **options):
# Your command logic here
self.stdout.write('Hello, World!')
이후로는 그룹을 생성해주고 view에서 권한을 부여하게끔 설정하면 된다는데... 더 생각할 일이다.
DJANGO 권한 그룹 쉽게 만들기.(Setting Group permissions)
장고를 딱 세팅하고 어드민 페이지를 로그인해서 들어가면 위처럼 인증과 권한에 관해 정리해주는 페이지가 있다. 그룹은 말 그대로 각 데이터베이스및 각종 권한을 미리 저장해둔 프리셋 이라
nadure.tistory.com
'일지' 카테고리의 다른 글
2023.06.20 (0) | 2023.06.21 |
---|---|
2023.06.19 (0) | 2023.06.21 |
2023.06.16 (0) | 2023.06.21 |
2023.06.15 (0) | 2023.06.16 |
2023.06.14 (0) | 2023.06.15 |