首页 > 解决方案 > Django Rest Framework,令牌认证:request.user 返回 AnonymousUser

问题描述

我正在尝试使用来自 Django Rest Framework 的令牌身份验证。

我遵循了所有指示,例如:

1.将这些行添加到已安装的应用程序中:

'rest_framework',
'rest_framework.authtoken',

2.在设置中添加语句:

REST_FRAMEWORK = {
    'DEFAULT_AUTHENTICATION_CLASSES': (
        'rest_framework.authentication.TokenAuthentication',
    ),
    'DEFAULT_PERMISSION_CLASSES': (
        'rest_framework.permissions.IsAuthenticated',
    )
}

我正在发送带有标题“授权”的 HTTP 请求:“令牌令牌名称”,其中令牌名称是我可以在数据库中看到的相应用户的令牌。

在服务器上,request.user 仍然返回 AnonymousUser 并且 request.user.is_authenticated 为 False。可能是什么问题?

这是对应的视图代码:

@csrf_exempt
def test(request):
    print(request.user.is_authenticated)
    return HttpResponse('ok')

这是来自 urlpatterns 的对应行:

path('test/', views.test)

标签: djangodjango-rest-framework

解决方案


推荐阅读