Django 中的用户身份验证 — Django 文档
来自菜鸟教程
Django/docs/3.0.x/topics/auth/index
Django 中的用户身份验证
Django 带有一个用户认证系统。 它处理用户帐户、组、权限和基于 cookie 的用户会话。 文档的这一部分解释了默认实现如何开箱即用,以及如何扩展和自定义它以满足您的项目需求。
概览
Django 身份验证系统处理身份验证和授权。 简而言之,身份验证验证用户的身份,而授权确定允许经过身份验证的用户做什么。 这里术语身份验证用于指代这两个任务。
认证系统包括:
- 用户
- 权限:指定用户是否可以执行特定任务的二进制(是/否)标志。
- 组:一种将标签和权限应用于多个用户的通用方式。
- 一个可配置的密码散列系统
- 用于登录用户或限制内容的表单和查看工具
- 可插拔的后端系统
Django 中的身份验证系统旨在非常通用,并且不提供 Web 身份验证系统中常见的一些功能。 其中一些常见问题的解决方案已在第三方软件包中实现:
- 密码强度检查
- 限制登录尝试
- 针对第三方的身份验证(例如 OAuth)
- 对象级权限
安装
身份验证支持捆绑为 django.contrib.auth
中的 Django contrib 模块。 默认情况下,所需的配置已经包含在settings.py
产生于 :djadmin:`django-admin startproject ` ,这些包含在您的列表中列出的两个项目 :设置:`INSTALLED_APPS` 环境:
'django.contrib.auth'
包含认证框架的核心及其默认模型。'django.contrib.contenttypes'
是 Django 内容类型系统 ,它允许将权限与您创建的模型相关联。
以及 :setting:`MIDDLEWARE` 设置中的这些项目:
- SessionMiddleware 跨请求管理 sessions。
- AuthenticationMiddleware 使用会话将用户与请求相关联。
设置好这些设置后,运行命令 manage.py migrate
将为身份验证相关模型创建必要的数据库表,并为您安装的应用程序中定义的任何模型创建权限。