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. tf.nn.relu
  2. tcp_tw_recycle和tcp_timestamps导致connect失败问题
  3. 荐读 | 9篇近期社会化推荐论文
  4. Tomcat7.0.26的连接数控制bug的问题排查
  5. python培训中心-想学python,上海Python培训中心哪个好?
  6. UWP应用程序使用Prism框架构建MVVM
  7. codeforces 528D. Fuzzy Search 快速傅里叶变换
  8. pytorch张量的简介与创建(代码)
  9. 工作流调度系统介绍,常见工作流调度系统对比,azkaban与Oozie对比,Azkaban介绍与特性(来自学习笔记)
  10. 防止QQ密码被盗的五个绝招
  11. RealSense开发-Session和SenseManager的几种创建方法
  12. JAVA使用POI如何导出百万级别数据
  13. 腾讯视频中如何把视频进行收藏
  14. 它在计算机房的旁边英文,计算机房设备搬迁协议 (中英文)
  15. c语言换行后多空格,关于文件操作,碰到空格就换行
  16. css被点击后改变样式,Js 通过点击改变css样式
  17. java 后台设置cookie
  18. 记自己在用友的三个月实习经历
  19. 大数据学长面试之华为面试题
  20. 《2020年度中国数据竞赛年鉴》发布!

热门文章

  1. Vivado工程路径太长导致不能生成bit文件
  2. c语言编程继承例子,C语言模拟实现C++的继承与多态示例
  3. c语言词典课程设计报告,C语言课程设计英语词典排版系统
  4. bat 复制文件夹_一个神奇的bat批处理文件,更好的隐藏电脑里的文件或者文件夹...
  5. 洛奇 服务器文件,【公告】电信三区服务器合并说明...
  6. C++ - STL迭代器失效
  7. oracle两个date相减_从 Oracle 到 PostgreSQL:从 Uptime 到数据库实例运行时间
  8. 《深入理解分布式事务》第九章 可靠消息最终一致性分布式事务原理
  9. 力扣628. 三个数的最大乘积
  10. mycat 分片规则