认证组件 LL
1、authentication
""" 系统:session认证 rest_framework.authentication.SessionAuthentication ajax请求通过认证: cookie中要携带 sessionid、csrftoken,请求头中要携带 x-csrftoken 第三方:jwt认证 rest_framework_jwt.authentication.JSONWebTokenAuthentication ajax请求通过认证: 请求头中要携带 authorization,值为 jwt空格token 自定义:基于jwt、其它 1)自定义认证类,继承BaseAuthentication(或其子类),重写authenticate 2)authenticate中完成 拿到认证标识 auth 反解析出用户 user 前两步操作失败 返回None => 游客 前两步操作成功 返回user,auth => 登录用户 注:如果在某个分支抛出异常,直接定义失败 => 非法用户 """
2、自定义认证类:基于jwt
from rest_framework.exceptions import AuthenticationFailed import jwt from rest_framework_jwt.authentication import BaseJSONWebTokenAuthentication from rest_framework_jwt.authentication import jwt_decode_handler
3、普通自定义认证类
from rest_framework.authentication import BaseAuthentication def authenticate(self, request): auth = 从request中得到 user = 从auth中得到 if not user: return None return user, auth
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南