• 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中的密码管理

  • 相关阅读:
    php $_SERVER 中的 QUERY_STRING和REQUEST_URI
    php 弱类型比较
    php函数漏洞
    web源码泄露
    sqlmap 基本使用步骤(一)
    php 调用远程url
    $_POST 和 php://input 的区别
    poj 3461 Oulipo (KMP入门)
    hdu 5417 Victor and Machine
    HDU 1885 Key Task (bfs)
  • 原文地址:https://www.cnblogs.com/haoshine/p/5643032.html
Copyright © 2020-2023  润新知