2017-01-25 4 views
0

Ich möchte die Berechtigungen des Benutzers in jeder Methode so überprüfen, bevor der Aufruf erreichen die Methodenhandler die Berechtigungen müssen überprüft worden sein (DRY). Laut der Dokumentation initial ermöglicht mir dies, aber, ist das eine gute Praxis?DRF - Überprüfen Sie Benutzerberechtigungen

class StorageDetail(APIView): 

    def initial(self, request, *args, **kwargs): 
     if not has_permission(request): 
      return Response(status=status.HTTP_403_FORBIDDEN) 

     super(StorageDetail, self).initial(request, *args, **kwargs) 

    def post(self, request, storage_id): 
     # .... 

    def put(self, request, storage_id): 
     # ... 

Antwort

0

Nein. Es ist keine gute Praxis. Laut der documentation ist es besser, die Berechtigungsklasse zu verwenden.

from rest_framework import permissions 

class CustomerAccessPermission(permissions.BasePermission): 
    message = 'Adding customers not allowed.' 

    def has_permission(self, request, view): 
     return True 


class ExampleView(APIView): 
    permission_classes = (IsAuthenticated, CustomerAccessPermission,) 
Verwandte Themen