Django用户认证

Django用户认证系统

Django 自带一个用户认证系统。这个系统主要作用于用户账号、组、权限和基于cookie的用户会话。该篇博文将主要说明这个默认自带的用户认证系统是如何工作的,以及在自己的工程中如何扩展和自定义默认自带的用户认证系统。

 

概述:

Django认证系统处理认证和授权两个任务。简而言之,认证 是核实一个用户是谁;授权 是决定一个认证后的用户能做写什么。这里说的认证就是指包括这两个任务了。

认证系统的组成:

  • 用户
  • 权限:二进制标志位 说明 一个用户时候有权限去做一个任务
  • 组: 应用同一种标签和权限给多个用户的通用方法
  • 一个可配置的哈希密码系统
  • 用户登录的表单和视图工具,限制内容
  • 可插拔的后台系统

Django的认证系统实现的功能非常通用, 它没有提供一些在web认证系统常见的功能。但这些常见的问题,都有第三方提供了解决方案:

  • 密码强度检查
  • 登录意图的限制
  • 第三方的权限认证(比如 OAuth)
安装

认证模块是作为django.contrib.auth中的模块绑定在django中的。运行django-admin startproject命令创建project,默认的,认证模块需要的配置已经包含在settings.py里面,有两个组件会列在settings.py文件中的INSTALLED_APPS里面:

  1. ‘django.contrib.auth’ 包含了认证框架的核心和它本子默认的模型
  2. ‘django.contrib.contenttypes’ 是Django的内容类型系统,它可以使你创建的模型和权限结合起来

还有下面这几个选项在MIDDLEWARE_CLASS 配置内:

  1. SessionMiddleware 在请求中管理会话
  2. AuthenticationMiddleware 将用户和使用会话的请求结合起来
  3. SessionAuthenticationMiddleware 记录 在修改用户密码之后,用户退出其他的会话。

以上都是运行django-admin startproject命令会自动配置的,再运行manage.py migrate命令将会为你创建安装的apps中的models创建数据库表和权限。

 

用法:

使用Django的默认支持

  • 用用户对象工作
  • 权限和授权
  • web请求认证
  • 在admin后台管理用户

默认支持 的 API 参考手册

自定义用户和认证

Django中的密码管理

 

转载于:https://www.cnblogs.com/haoshine/p/5643032.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值