160.验证和授权系统的概述

验证和授权概述

Django有一个内置的授权系统,它用来处理用户、分组、权限以及基于cookie的会话系统。Django的授权系统包括验证和授权两部分。验证是验证这个用户是否是他生成的那个人(比如用户名和密码验证,角色验证),授权是给与他的相应的权限。Django内置的权限系统包括以下方面:
(1)用户。
(2)权限。
(3)分组。
(4)一个可以分配的密码哈希系统。
(5)一个可插拔的后台管理系统。

使用授权系统

默认中创建一个django项目后,其实就已经继承了授权系统,哪些部分是授权系统相关的配置呢,以下做一个简单的列表:

INSTALLED_APPS:

(1)django.contrib.auth:包含了一个核心框架,以及大部分的模型定义。(用户、组、权限等都是放在这里的)。
(2)dajngo.contrib.contenttypes:Content Type系统,可以用来关联模型和权限。(绑定某个模型与app之间的关系,它本身的字段就只有app和模型。比如权限在和用户模型进行关联的时候就会使用到这个app,可以用来绑定模型和权限之间的关系。)

中间件

(1)SessionMiddleware:用来管理session。(用户的授权系统中需要对当前的用户进行一些验证,这就需要使用到session)
(2)AuthenticationMiddleware:用来处理和当前session相关联的用户。