Django的用户认证----介绍

Django自带了一个用户认证系统。它处理用户账户、组、权限和基于cookie的用户会话。

概括

Django认证系统处理认证和授权。简单的说,认证是验证一个用户被声明为谁,授权是确定一个认证的用户允许做什么。

认证系统由下面的组成:

  • 用户
  • 权限:二进制标志,标明用户是否可以执行指定的任务
  • 组:应用标签和权限给多个用户的通用方法
  • 可配置的密码hash系统
  • 用户登录的表单和视图工具或者限制的内容
  • 可插入模块的后端系统

Django的认证系统只提供简单的方法,并不提供在web认证系统找到的一些特性。解决这些问题的方法是使用第三方插件:

  • 密码强制性检查
  • 登录尝试限制
  • 针对第三方认证(例如OAuth)

安装

在django.contrib.auth中,认证支持已经捆绑作为一个Django的contib模块。默认情况下,所需配置已经包含在由django-admin startproject生成的setting.py中,在INSTALLED_APPS设置中列出的两个项目:

django.contrib.auth

包含认证框架的核心和默认的模块

django.contrib.contenttypes

是Django的内容类型系统,允许权限和你创建的模块想关联

在MIDDLEWARE_CLASSES设置中包括这些项目:

SessionMiddlemare

通过请求管理会话

AuthenticationMiddleware

使用会话关联用户和请求

SessionAuthenticationMiddleware

密码更改后,用户退出用户其它的会话

有了这些设置,运行manage.pymigrate为认证相关的model和权限创建必要的数据库表。

由于个人技术所限有不足之处还请各位指出。可以通过如下方式联系到笔者:

Linux运维开发群   298324302

北京linux运维求职招聘    153677549

时间: 2024-11-05 02:32:01

Django的用户认证----介绍的相关文章

Django--分页器(paginator)、Django的用户认证、Django的FORM表单

分页器(paginator) >>> from django.core.paginator import Paginator >>> objects = ['john', 'paul', 'george', 'ringo'] >>> p = Paginator(objects, 2) >>> p.count #数据总数 4 >>> p.num_pages #总页数 2 >>> type(p.page

Django 自定义用户认证

Django 自定义用户认证 Django附带的认证对于大多数常见情况来说已经足够了,但是如何在 Django 中使用自定义的数据表进行用户认证,有一种较为笨蛋的办法就是自定义好数据表后,使用OnetoOne来跟 Django 的表进行关联,类似于这样: from django.contrib.auth.models import User class UserProfile(models.Model): """ 用户账号表 """ user =

14 Django的用户认证组件

用户认证 auth模块 1 from django.contrib import auth django.contrib.auth中提供了许多方法,这里主要介绍其中的三个: 1.1 .authenticate()    提供了用户认证,即验证用户名以及密码是否正确,一般需要username  password两个关键字参数 如果认证信息有效,会返回一个  User  对象.authenticate()会在User 对象上设置一个属性标识那种认证后端认证了该用户,且该信息在后面的登录过程中是需要的

Django组件——用户认证

用户认证 一.auth模块 from django.contrib import auth django.contrib.auth中提供了许多方法,这里主要介绍其中的三个: 1 .authenticate() 提供了用户认证,即验证用户名以及密码是否正确,一般需要username password两个关键字参数如果认证信息有效,会返回一个 User 对象.authenticate()会在User 对象上设置一个属性标识那种认证后端认证了该用户,且该信息在后面的登录过程中是需要的.当我们试图登陆一

Django的用户认证组件

用户认证 (一)auth模块 1 from django.contrib import auth django.contrib.auth中提供了许多方法,这里主要介绍其中的三个: 1.1 .authenticate()    提供了用户认证,即验证用户名以及密码是否正确,一般需要username  password两个关键字参数 如果认证信息有效,会返回一个  User  对象.authenticate()会在User 对象上设置一个属性标识那种认证后端认证了该用户,且该信息在后面的登录过程中是

django之用户认证组件

用户认证 auth模块 from django.contrib import auth django.contrib.auth中提供了许多方法,这里主要介绍其中的三个: 1.authenticate() 提供了用户认证,即验证用户名以及密码是否正确,一般需要username  password两个关键字参数如果认证信息有效,会返回一个User对象.authenticate()会在User 对象上设置一个属性标识那种认证后端认证了该用户,且该信息在后面的登录过程中是需要的.当我们试图登陆一个从数据

Django自定义用户认证

自定义一个用户认证 详细参考官方文档: https://docs.djangoproject.com/en/1.9/topics/auth/customizing/#django.contrib.auth.models.PermissionsMixin.has_perms 一.创建用户的表 UserProfile():存放用户信息的表 UserProfileManager(): 用户创建用户的类方法 1.生成一个单独的Moel文件专门用来存放用户表 #!/usr/bin/env python #

Django之用户认证功能

前言 做web应用对登录做用户身份认证,然后设置session是比不可少的,因为我们就需要把有权限访问本站视图的用户,单独建一张表记录到数据库里: Django作为一个大而全的框架,已经为我们做好了这些准备: from django.shortcuts import render,HttpResponse,redirect def login(request): if request.method=='GET': return render(request,'login.html') user=

Django Authentication 用户认证系统

一. Django的认证系统 Django自带一个用户认证系统,用于处理用户账户.群组.许可和基于cookie的用户会话. 1.1 概览 Django的认证系统包含了身份验证和权限管理两部分.简单地说,身份验证用于核实某个用户是否是合法用户,权限管理则是决定一个合法用户具有哪些权限.这里,"身份验证"这个词同时代指上面两部分的含义. 系统主要包括: 用户 许可 组 可配置的密码哈希系统 用于用户登录或者限制访问的表单和视图工具 可插拔的后端 类似下面的问题,请使用第三方包: 密码强度检