当前位置: 首页 > news >正文

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

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。

相关文章:

  • Linux 日志
  • iOS开发之如何修改导航栏的内容
  • Jboss7.1 加入realm auth认证 bootsfaces 美化的登录页面
  • BZOJ 3436: 小K的农场 差分约束
  • 2cifang.com_2次方学习
  • 关于深拷贝(含数组对象)
  • 使用Lua和OpenResty搭建验证码服务器 - JavaChen Blog
  • logrotate机制与原理[转载]
  • Fresco源码解析 - DataSource怎样存储数据
  • 官方API Demos中自定义adapter写法
  • 用指针方法排序数组
  • Linux下Nagios的安装与配置(转载)
  • 程序员从初级到大牛的蜕变
  • Mybatis配置动态table的例子
  • [某鸥实训记][objective-c][第三天][个人笔记]
  • 〔开发系列〕一次关于小程序开发的深度总结
  • AWS实战 - 利用IAM对S3做访问控制
  • css的样式优先级
  • golang 发送GET和POST示例
  • open-falcon 开发笔记(一):从零开始搭建虚拟服务器和监测环境
  • SpringCloud集成分布式事务LCN (一)
  • Webpack 4x 之路 ( 四 )
  • 大快搜索数据爬虫技术实例安装教学篇
  • 对超线程几个不同角度的解释
  • 简析gRPC client 连接管理
  • 前端技术周刊 2019-02-11 Serverless
  • 强力优化Rancher k8s中国区的使用体验
  • 软件开发学习的5大技巧,你知道吗?
  • 深度学习在携程攻略社区的应用
  • 一加3T解锁OEM、刷入TWRP、第三方ROM以及ROOT
  • 3月7日云栖精选夜读 | RSA 2019安全大会:企业资产管理成行业新风向标,云上安全占绝对优势 ...
  • 交换综合实验一
  • ​LeetCode解法汇总2808. 使循环数组所有元素相等的最少秒数
  • # 睡眠3秒_床上这样睡觉的人,睡眠质量多半不好
  • #大学#套接字
  • #每日一题合集#牛客JZ23-JZ33
  • (14)目标检测_SSD训练代码基于pytorch搭建代码
  • (4)Elastix图像配准:3D图像
  • (Java)【深基9.例1】选举学生会
  • (附源码)springboot美食分享系统 毕业设计 612231
  • (附源码)springboot猪场管理系统 毕业设计 160901
  • (南京观海微电子)——I3C协议介绍
  • (十七)Flask之大型项目目录结构示例【二扣蓝图】
  • (原創) 未来三学期想要修的课 (日記)
  • **PHP二维数组遍历时同时赋值
  • ./和../以及/和~之间的区别
  • .360、.halo勒索病毒的最新威胁:如何恢复您的数据?
  • .aanva
  • .Net Framework 4.x 程序到底运行在哪个 CLR 版本之上
  • .Net Winform开发笔记(一)
  • .NET 将多个程序集合并成单一程序集的 4+3 种方法
  • .net 生成二级域名
  • .net 验证控件和javaScript的冲突问题
  • .net 怎么循环得到数组里的值_关于js数组
  • .NetCore部署微服务(二)