내가 잘못된 코드 일지 모르지만 정말로 장고를 많이하지는 않았다. 내가 장고의 사용자 모델에서 내장 된 권한을 감지하고 싶습니다. 사용자 모델에 권한을 추가했지만 어떤 이유로 has_perm이 작동하지 않습니다. 대신 user_objects.all()을 사용하여 권한 개체가 있는지 검색합니다. 나는 400 오류를 반환하고 싶습니다 : 권한이없는 경우 권한이 없습니다.허가를위한 믹스 Django REST ListCreateAPIView
Heres는 내 현재 솔루션 (작동하지 않음) :
class PermissionRequiredMixin(object):
user_check_failure_path = 'auth_login'
permission_required = None
def check_user(self, user):
return user.has_perm(self.permission_required)
:
class ProgramListCreateView(PermissionRequiredMixin,ListCreateAPIView):
permission_required = Permission.objects.get(name="Can CRUD")
permission_classes = (IsAuthenticated,)
queryset = Program.objects.all()
serializer_class = ProgramSerializer
def check_user(self,request):
if self.permission_required in request.user.user_permissions.all():
return True
return Response(status=400)
나는 허가없이 사용자 토큰과 JSON을 보내, 그것은 여전히 객체를
을 Heres 내 믹스 인을 생성
참고 : has_perm은 내가 추가 한 경우에도 항상 어떤 이유로 든 false를 반환합니다. user.user_permissions.add(permission_object)
당신이 djangorest 사용자 지정 권한에 대해 파나요이 클래스를 확장거야? –
네,하지만 문서가 너무 제한되어 믹스 인을 대신 사용했습니다. – Jason
제 대답을 확인하십시오. –