Django DRF permission_classes = isAuthenticated не работает по назначению
Я использую drf 3.14.0 и simple_jwt для регистрации.
Аутентификация, кажется, работает хорошо, когда я ввожу действительный токен, но классы разрешений не останавливают AnonymousUser от доступа к моему представлению.
настройки
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': (
'users.authentification.CustomJWTAuth',
)
}
view
class UserViewSet(viewsets.ViewSet):
def list(self, request):
permission_classes = [IsAuthenticated]
print(request.user.is_authenticated, file=sys.stderr)
u_serializer = GetUserSerializer(request.user)
user_data = JSONRenderer().render(u_serializer.data)
return Response(user_data, 200)
Когда я делаю api вызов без валидного пользователя и следующего представления
.
вызов попадает в список и выводит false в request.user.is_authenticated, что, как мне кажется, не должно быть возможным.
Я приветствую любые идеи
Попробуйте перенести permission_classes
из метода в класс ViewSet:
class UserViewSet(viewsets.ViewSet):
permission_classes = [IsAuthenticated]
def list(self, request):
...