Django从开始就带有一个用户认证系统。它处理用户账号、组、权限以及基于cookie的用户会话。本节文档解释默认的实现如何直接使用,以及如何扩展和定制它以适合你项目的需要。
Django认证系统同时处理认证和授权。简单地讲,认证验证一个用户是否它们声称的那个人,授权决定一个通过了认证的用户被允许做什么。这里的词语“认证”同时指代这两项任务。
认证系统包含:
Django中的认证系统致力于变得非常通用,但它不提供在web认证系统中某些常见的功能。某些常见问题的解决方法已经在第三方包中实现:
认证的支持作为Django的一个contrib模块,打包于django.contrib.auth中。默认情况下,要求的配置已经包含在django-admin startproject 生成的settings.py 中,它们的组成包括INSTALLED_APPS 设置中的两个选项:
和MIDDLEWARE_CLASSES设置中的两个选项:
有了这些设置,运行manage.py migrate命令将为认证相关的模型创建必要的数据库表并为你的应用中定义的任意模型创建权限。
2015年5月13日