오늘의 TIL
from rest_framework.permissions import BasePermission
class IsAdminOrAuthenticatedOrReadOnly(BasePermission):
http_method = ["POST", "PUT", "DELETE"]
def has_permission(self, request, view):
message ="접근 권한이 없습니다!"
user = request.user
if user.is_authenticated and request.method == "GET": # 로그인하지 않은 유저이고, method가 GET일때
return True
elif not user.is_authenticated and request.method == "GET": # 로그인하지 않은 유저이고, method가 GET일때
return True
elif not user.is_authenticated and request.method in self.http_method: # 로그인하지 않은 유저이고, GET이 아닌 method를 요청할 때
self.message = "로그인이 필요합니다"
return False
elif user.is_admin:
return True
else:
return False
class DeletePermissition(BasePermission):
def has_permission(self, request, view):
message ="접근 권한이 없습니다!"
user = request.user
if request.method == "DELETE" and user.is_admin:
return True
else:
return False
permission
허가 /비허가 할떄 작성하는 코드이다.
우리가 웹사이트를 이용할때 비회원이여도 가능한 서비스
회원이여도 불가능한 서비스 가있다 특히 권한이 없습니다 라고 뜨며 진입자체를 막아주는데 이
permission을 사용한것이다
자신이 어느 조건에 진입이 가능한지 조건문을걸어준다.
오늘의 TIL
Permission 이무엇이고 어떻게쓰는지 알아보자.
'스파르타코딩개발일지' 카테고리의 다른 글
TIL (0) | 2022.12.02 |
---|---|
TIL (0) | 2022.12.01 |
유화 프로젝트 KPT (0) | 2022.11.28 |
TIL 금요일 제출 (0) | 2022.11.27 |
TIL 팀프로젝트 깃,백엔드 (0) | 2022.11.24 |