Django REST中的权限控制
在Django REST中提供了三个方式权限,达到了可以同时控制用户认证,用户访问权限,和不同用户可访问次数的问题。具体方式如下:
- authentication (认证)
- Permissions (权限)
- throttling (节流)
authentication
认证是在视图类运行之前执行的。只有在确定用户的身份之后才涉及到权限控制和节流控制。
如果没有认证,那么:
- request.user将会是一个匿名用户,即django.contrib.auth.models.AnonymousUser的一个对象,
- request.auth将会被设置为None。
authentication的设置:
1.在settings中设置session认证方式:
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': (
#设置基础认证方式
'rest_framework.authentication.BasicAuthentication',
#设置session认证方式
'rest_framewo