본문 바로가기

스파르타코딩개발일지

TIL

오늘의 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