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

  • 相关阅读:
    Ubuntu adb devices :???????????? no permissions (verify udev rules) 解决方法
    ubuntu 关闭显示器的命令
    ubuntu android studio kvm
    ubuntu 14.04版本更改文件夹背景色为草绿色
    ubuntu 创建桌面快捷方式
    Ubuntu 如何更改用户密码
    ubuntu 14.04 返回到经典桌面方法
    ubuntu 信使(iptux) 创建桌面快捷方式
    Eclipse failed to get the required ADT version number from the sdk
    Eclipse '<>' operator is not allowed for source level below 1.7
  • 原文地址:https://www.cnblogs.com/haoshine/p/5643032.html
Copyright © 2011-2022 走看看