大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
认证组件源码入口
APIView
下的dispatch
下的self.initial(request, *args, **kwargs)
,源码如下:
def initial(self, request, *args, **kwargs):
"""
在调用方法处理程序之前运行任何需要发生的事情
"""
# 获取请求的后缀格式
self.format_kwarg = self.get_format_suffix(**kwargs)
# 确定使用哪种渲染器和媒体类型来渲染响应,并存储
neg = self.perform_content_negotiation(request)
request.accepted_renderer, request.accepted_media_type = neg
# 如果正在使用版本控制,则确定 API 版本。
version, scheme = self.determine_version(request, *args, **kwargs)
request.version, request.versioning_scheme = version, scheme
# 3大认证,确保传入请求被允许
self.perform_authentication(request)
self.check_permissions(request)
self.check_throttles(request)
三大认证
认证组件
self.perform_authentication(request)
认证组件作用:校验用户 – 游客
、合法用户
、非法用户
- 游客:代表校验通过,直接进入下一步校验(权限校验)
- 合法用户:代表校验通过,将用户存储在
request.user
中,再进入下一步校验(权限校验) - 非法用户:代表校验失败,抛出异常,返回
403
权限异常结果
权限组件
self.check_permissions(request)
权限组件:校验用户权限 – 必须登录
、所有用户
、登录读写游客只读
、自定义用户角色
- 认证通过:可以进入下一步校验(频率认证)
- 认证失败:抛出异常,返回
403
权限异常结果
频率组件
self.check_throttles(request)
频率组件:限制视图接口被访问的频率次数
– 限制的条件(IP、id、唯一键)
、频率周期时间(s、m、h)
、频率的次数(3/s)
没有达到限次:正常访问接口
达到限次:限制时间内不能访问,限制时间达到后,可以重新访问
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/165762.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...