# 添加rest_framework配置
REST_FRAMEWORK = {
'DEFAULT_PERMISSION_CLASSES': (
'rest_framework.permissions.IsAuthenticated',
),
'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework_jwt.authentication.JSONWebTokenAuthentication',
'rest_framework.authentication.BasicAuthentication',
# 'rest_framework.authentication.SessionAuthentication',
'rest_framework.authentication.TokenAuthentication',
)
}
# 下面的3个装饰器全部来自from引用,相当与给接口增加了用户权限校验和token校验
@api_view(['GET'])
# @permission_classes((IsAuthenticated,))
# @authentication_classes((JSONWebTokenAuthentication,))
def get_info(request):
data = 'some info'
return JsonResponse({'code': 200, 'message': '请求成功', 'data': data})
在知乎上收藏的一篇关于token的文章,发现的一些问题。
1.不需要加上 'rest_framework.authentication.SessionAuthentication',否则会导致跨域问题
2.不需要加入用户权限校验和token 校验,因为设置中已经配置了
3.所有带有@api_view或视图都会被进行校验,只有最普通的方法不会被校验