django rest 프레임 워크에서 권한이 거부 될 때마다 401
을 클라이언트에 반환합니다.권한 변경 거부 HTTP 상태 코드
그러나 이것은 숨겨진 항목에 매우 좋지 않습니다. 401
을 보내면 해당 사실을 인정하는 사용자가 있음을 알 수 있습니다.
대신 특정 사용 권한에서 404
을 반환 할 수 있습니까? 예를 들어이 하나
class IsVisibleOrSecretKey(permissions.BasePermission):
"""
Owner can view no matter what, everyone else must specify secret_key if private
"""
def has_permission(self, request, view):
return True
def has_object_permission(self, request, view, obj):
key = request.query_params.get('secret_key')
return (
obj.visibility != 'P'
or
request.user == obj.user
or
obj.secret_key == key
)