Django + django-rest-framework-simplejwt保护视图

时间:2019-10-09 02:58:18

标签: django django-rest-framework

我刚刚在Django项目中安装了django-rest-framework-simplejwt,并且如果我发送了无效的Authentication Bearer <<token>>标头,则会使用401代码阻止我的请求。这是预期的行为。问题是,如果删除Authentication标头,则可以访问我的视图,因此它不受保护。

如果没有Authentication标头,如何保护视图返回401?

这是查看代码:

class AuthTestView(views.APIView):
    http_method_names = ['get']

    def get(self, request):
        response_data = {
            'result': 'Restricted access test ok.',
        }
        return Response(data=response_data, status=status.HTTP_200_OK)

1 个答案:

答案 0 :(得分:2)

尝试:

from rest_framework.permissions import IsAuthenticated
class AuthTestView(views.APIView):
    http_method_names = ['get']
    permission_classes=[IsAuthenticated] 
    def get(self, request):
        response_data = {
            'result': 'Restricted access test ok.',
        }
        return Response(data=response_data