zoukankan      html  css  js  c++  java
  • 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中的密码管理

  • 相关阅读:
    在vue项目中引用element-ui时 让el-input 获取焦点的方法
    vue cli 平稳升级webapck4
    如何在 vuex action 中获取到 vue 实例
    Vue主要原理最简实现与逻辑梳理
    vue自定义指令clickoutside扩展--多个元素的并集作为inside
    关于使用element中的popup问题
    教你如何检查一个函数是否为JavaScript运行时环境内建函数
    用 Vue 做一个简单的购物app
    vue 手机键盘把底部按钮顶上去
    基于Linux的智能家居的设计(2)
  • 原文地址:https://www.cnblogs.com/haoshine/p/5643032.html
Copyright © 2011-2022 走看看