用途:面向 Django 项目的安全开发参考,围绕 CSRF 防护、认证、会话、密码处理、安全中间件与受保护视图展开,并延伸至自定义认证后端与对象级权限。
主要能力:CSRF 防护(CsrfViewMiddleware、模板 {% csrf_token %}、AJAX 的 X-CSRFToken 头、csrf_protect 与 csrf_exempt 装饰器);认证(内置 LoginView/LogoutView/密码重置视图、authenticate/login/logout、LoginRequiredMixin 与 login_required);自定义认证后端(如以邮箱登录的 EmailBackend)与自定义权限后端(对象级 has_perm、后端链式配置);会话(SESSION_ENGINE、SESSION_COOKIE_SECURE/HTTPONLY/SAMESITE 等配置与读写);密码校验(AUTH_PASSWORD_VALIDATORS 与自定义校验器)。
使用方式:在 settings.py 的 MIDDLEWARE 中启用 CsrfViewMiddleware(须位于 SessionMiddleware 之后)与 SessionMiddleware、AuthenticationMiddleware;表单加 {% csrf_token %},AJAX 请求携带 X-CSRFToken;在 urls.py 挂载 auth_views 提供的登录、登出、改密与重置路由;通过 AUTHENTICATION_BACKENDS 注册自定义后端;用 has_perm(perm, obj) 做对象级检查。
适用场景:需要为 Django 应用加固请求伪造防护、统一登录登出与密码策略、实现行级授权或接入外部认证系统的项目。
限制:资料未提供安装命令、版本要求、收费信息或性能数据;csrf_exempt 应谨慎使用,仅限可信来源(如 webhook);自定义后端未处理某权限时应返回 None 而非 True,对象级检查必须传入 obj 参数。