Django Auth 系统底层剖析与用户模型重构
更多内容请见: 《Python Web项目集锦》 - 专栏介绍和目录
在绝大多数 Django 项目中,开发者对认证系统的理解停留在from django.contrib.auth import authenticate, login和request.user的黑盒调用上。当业务需求仅仅停留在“邮箱+密码登录”时,自带的User模型似乎绰绰有余。
然而,当业务演进到需要手机号验证码登录、第三方 OAuth 授权、多租户隔离、或者将用户名改为自定义 ID 时,许多开发者开始在默认的User模型上打补丁,甚至在视图层写满硬编码的判断。这种“裸奔”式的开发,不仅导致代码腐化,更会在系统壮大后引发数据迁移的灾难性后果。
要真正掌控 Django 项目的安全与架构,必须拒绝裸奔,深入 Auth 系统的底层,理解其设计哲学,并掌握在合适的时机以正确的方式重构用户模型。
第一章:黑盒揭秘——Django Auth 系统的底层运转机制
Django 的认证系统并不只是一个模型,它是一个由认证器、后端、中间件和会话精密咬合的齿轮组。<
