Django--011 DRF-认证和授权

文章目录

  • 1. 权限基本概念
  • 2. DRF权限使用

1. 权限基本概念

  • 认证
  • 判断登录者的身份。一般通过用户名/密码、手机号、身份证号、邮箱、指纹、session、cookies等
  • 授权
  • 授予某个权限,如银行卡、门禁卡、菜单/数据授权
  • 鉴权
  • 对授予的权限进行鉴定,有授权才能鉴权,如接口权限验证

2. DRF权限使用

  • DRF默认权限校验类文件:rest_framework.permissions.py
  • urls.py配置
# urls.pyurlpatterns = [path('api/', include('rest_framework.urls')),
]
  • 方式一: settings.py全局配置
# settings.py
REST_FRAMEWORK = {# 认证类'DEFAULT_AUTHENTICATION_CLASSES': [# JWT认证'rest_framework_jwt.authentication.JSONWebTokenAuthentication',# 会话认证'rest_framework.authentication.SessionAuthentication',# 基本认证(用户名/密码)'rest_framework.authentication.BasicAuthentication'],# 权限类'DEFAULT_PERMISSION_CLASSES': [# 不需要登录就拥有任意权限'rest_framework.permissions.AllowAny',# 只要登录后,就拥有任意权限'rest_framework.permissions.IsAuthenticated',# 仅管理员用户才有权限'rest_framework.permissions.IsAdminUser',# 未认证成功只有只读权限,认证成功户拥有任意权限'rest_framework.permissions.IsAuthenticatedOrReadOnly'],
}
  • 方式二:类视图下配置
  • 一般登录、注册接口无需权限验证,此时需要单独配置
# projects/views.pyfrom rest_framework import permissionsclass ProjectViewSet(viewsets.ModelViewSet):permission_classes = [permissions.IsAuthenticated]...


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部