所以我有一个非常简单的API端点,用于确定用户是否已登录。我确实决定将其设为POST
请求,以便隐藏在浏览器中访问的响应< / p>
class Check(APIView):
def post(self, request):
print request.user
if request.user.is_authenticated():
# a successful response for logged in
return Response(status = HTTP_200_OK)
# return an error status code for not logged in
return Response(status = HTTP_401_UNAUTHORIZED)
注销后,我在控制台中获得AnonymousUser
,并按预期获得401状态代码。但是,当以超级用户或任何其他用户身份登录时,我没有打印输出和403状态代码。这表明由于某种原因从未输入整个回调。我被告知这是一个权限问题,但我启用了AllowAny
。你们有什么想法吗?
REST_FRAMEWORK = {
'DEFAULT_RENDERER_CLASSES': [
'rest_framework.renderers.JSONRenderer'
],
'DEFAULT_PARSER_CLASSES': [
'rest_framework.parsers.JSONParser'
],
'DEFAULT_AUTHENTICATION_CLASSES': [
'rest_framework.authentication.SessionAuthentication',
'rest_framework.authentication.BasicAuthentication'
],
'DEFAULT_PERMISSION_CLASSES': [
'rest_framework.permissions.AllowAny',
]
}