Django 中的用户认证

Django从开始就带有一个用户认证系统。它处理用户账号、组、权限以及基于cookie的用户会话。本节文档解释默认的实现如何直接使用,以及如何扩展和定制它以适合你项目的需要。

概览

Django认证系统同时处理认证和授权。简单地讲,认证验证一个用户是它们声称的那个人,授权决定一个认证通过的用户允许做什么。这里的词语认证同时指代这两项任务。

认证系统包含:

  • 用户
  • 权限:二元(是/否)标志指示一个用户是否可以做一个特定的任务。
  • 组:对多个用户运用标签和权限的一种通用的方式。
  • 一个可配置的密码哈希系统
  • 用于登录用户或限制内容的表单和视图
  • 一个可插拔的后台系统

Django中的认证系统的目标是非常通用且不提供在web认证系统中某些常见的功能。某些常见问题的解决方法已经在第三方包中实现:

  • 密码强度检查
  • 登录尝试的制约
  • 第三方认证(例如OAuth)

安装

认证的支持作为Django的一个contrib模块,打包于django.contrib.auth中。默认情况下,要求的配置已经包含在django-admin startproject生成的settings.py中,它们的组成包括INSTALLED_APPS设置中的两个选项:

  1. django.contrib.auth‘包含认证框架的核心和默认的模型。
  2. django.contrib.contenttypes‘是Django内容类型系统,它允许权限与你创建的模型关联。
    MIDDLEWARE_CLASSES设置中的两个选项:

  3. SessionMiddleware管理请求之间的会话。

  4. AuthenticationMiddleware使用会话将用户与请求管理起来。

有了这些设置,运行manage.py migrate命令将为认证相关的模型创建必要的数据库表并为你的应用中定义的任意模型创建权限。

使用

使用Django默认的实现

  • 使用User对象
  • 权限和授权
  • Web 请求中的认证
  • 在admin 中管理用户

默认实现的API参考

自定义Users和认证

Django中的密码管理

译者:Django 文档协作翻译小组,原文:Overview。

本文以 CC BY-NC-SA 3.0 协议发布,转载请保留作者署名和文章出处。

Django 文档协作翻译小组人手紧缺,有兴趣的朋友可以加入我们,完全公益性质。交流群:467338606。

django 1.8 官方文档翻译: 13-1-1 Django 中的用户认证相关推荐

  1. django 1.8 官方文档翻译:13-1-2 使用Django认证系统

    使用Django认证系统 这篇文档解释默认配置下Django认证系统的使用.这些配置已经逐步可以满足大部分常见项目对的需要,可以处理范围非常广泛的任务,且具有一套细致的密码和权限实现.对于需要与默认配 ...

  2. django 1.8 官方文档翻译: 3-5-2 使用Django输出PDF

    使用Django输出PDF 这篇文档阐述了如何通过使用Django视图动态输出PDF.这可以通过一个出色的.开源的Python PDF库ReportLab来实现. 动态生成PDF文件的优点是,你可以为 ...

  3. django 1.8 官方文档翻译: 3-5-1 使用Django输出CSV

    使用Django输出CSV 这篇文档阐述了如何通过使用Django视图动态输出CSV (Comma Separated Values). 你可以使用Python CSV 库或者Django的模板系统来 ...

  4. django 1.8 官方文档翻译: 6-6-1 部署 Django

    部署 Django 虽然Django 满满的便捷性让Web 开发人员活得轻松一些,但是如果不能轻松地部署你的网站,这些工具还是没有什么用处.Django 起初,易于部署就是一个主要的目标.有许多优秀的 ...

  5. django官方文档——django中的用户认证

    Django 中的用户认证¶ Django 自带一个用户认证系统,这个系统处理用户帐户.组.权限和基于 cookie 的会话.本文说明这个系统是如何工作的. 概览¶ 认证系统由以下部分组成: 用户 权 ...

  6. django 1.8 官方文档翻译:4-2-1 Django模版语言

    Django模版语言 本文将介绍Django模版系统的语法.如果您需要更多该系统如何工作的技术细节,以及希望扩展它,请浏览 The Django template language: for Pyth ...

  7. django 1.8 官方文档翻译: 2-5-7 自定义查找

    自定义查找 New in Django 1.7. Django为过滤提供了大量的内建的查找(例如,exact和icontains).这篇文档阐述了如何编写自定义查找,以及如何修改现存查找的功能.关于查 ...

  8. django 1.8 官方文档翻译:使用Django认证系统

    使用Django认证系统 这篇文档解释默认配置下Django认证系统的使用.这些配置已经逐步可以满足大部分常见项目对的需要,可以处理范围非常广泛的任务,且具有一套细致的密码和权限实现.对于需要与默认配 ...

  9. django 1.8 官方文档翻译: 1-2-1 编写你的第一个Django应用,第1部分

    编写你的第一个 Django 程序 第1部分 让我们通过例子来学习. 在本教程中,我们将引导您创建一个基本的投票应用. 它将包含两部分: 一个公共网站,可让人们查看投票的结果和让他们进行投票. 一个管 ...

最新文章

  1. NBMA网络帧中继交换机配置
  2. java应用程序打包成可jar执行程序
  3. JavaScript 中的事件对象(读书笔记思维导图)
  4. 不续签合同,凭什么要求别人紧急加班
  5. 丁磊推荐《你的灯亮着吗》为三大管理必读书
  6. 小度wifi在window server2008R2系统下创建不了
  7. php 模态框效果,超酷的模态框效果 - Nifty
  8. I2P和TOR 有趣网络精灵
  9. Warm-up pytorch代码
  10. php自动驾驶面试题,一篇文章看懂“L0-L5”,自动驾驶分级标准最强解读
  11. three相机在模型上_深入理解Three.js中透视投影照相机PerspectiveCamera
  12. 三相电检测电路c语言,三相缺相检测电路的原理分析
  13. html实现在线聊天,利用HTML5实现电脑端微信聊天窗口界面
  14. dsoframer-在线编辑office文档,一款开源的由微软提供
  15. java读取文件并输出内容
  16. Ubuntu 新加硬盘并挂载到home目录下
  17. Segment Anything CV界的GPT—prompt-based里程碑式研究成果
  18. 关于 PC微信SDK二次开发
  19. Spring中的PathVariable注释
  20. Creak160-Creak1 (未完待续)

热门文章

  1. java代码怎样整体左移_java 多行代码左移
  2. java 选中指定文件_Java如何打开一个文件夹并选中指定文件
  3. linux下dds软件,【数据库】Linux 单实例环境下实现Oracle数据库和DDS软件的开机自动重启...
  4. mysql set语句_从强网杯随便注浅析mysql存储过程
  5. Windows线程同步--关键段和旋转锁
  6. div iframe html5,深入理解iframe
  7. STM32 NVIC中断
  8. 6410的系统时钟设置(下)---几个常用函数的C源码
  9. -00020 ora_ORA-00020 超出最大进程数的解决方法
  10. 简单php web ftp服务器,php 上传文件到ftp服务器的简单示例(单文件)