Sie liberal Berechtigungen in settings.py Datei hinzufügen könnte und fügen restriktivere in der spezifischen api Sicht.
In settings.py, fügen Sie so etwas wie:
'DEFAULT_PERMISSION_CLASSES': (
'rest_framework.permissions.DjangoModelPermissionsOrAnonReadOnly'
),
von Ihnen auch AllowAny
Erlaubnis nutzen könnten.
Sie können die Authentifizierungsrichtlinie per View- oder Viewset-Basis mithilfe der klassenbasierten APIView-Sichten festlegen.
from rest_framework.permissions import IsAuthenticated
from rest_framework.response import Response
from rest_framework.views import APIView
class ExampleView(APIView):
permission_classes = (IsAuthenticated,)
def get(self, request, format=None):
content = {
'status': 'request was permitted'
}
return Response(content)
Oder, wenn Sie den @api_view Dekorateur mit Funktion basierter Ansichten verwenden.
from rest_framework.decorators import api_view, permission_classes
from rest_framework.permissions import IsAuthenticated
from rest_framework.response import Response
@api_view('GET')
@permission_classes((IsAuthenticated,))
def example_view(request, format=None):
content = {
'status': 'request was permitted'
}
return Response(content)
Wenn Sie neue Berechtigungsklassen durch Klasse-Attribut oder Dekorateure Sie sagen die Ansicht, die Standardliste setzen über die settings.py Datei zu ignorieren.
Blick auf dieses Tutorial https://godjango.com/43-permissions-authentication-django-rest-framework-part-2/ –
Sie Berechtigungsklassen für jede Ansicht unter myweb/api angeben. Es gibt 2 Beispiele hier: http://www.django-rest-framework.org/api-guide/permissions/#setting-the-permission-policy –