1 / 5
文档名称:

Django用户认证系统权限管理.docx

格式:docx   大小:38KB   页数:5页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

Django用户认证系统权限管理.docx

上传人:simple 2021/7/18 文件大小:38 KB

下载得到文件列表

Django用户认证系统权限管理.docx

相关文档

文档介绍

文档介绍:Django用户认证系统权限管理
在设计用户认证系统时用户的权限管理是是一项不可忽视的重要内容,权限管理可以限制用户是否能够拥有某些功能。Django 的用户认证系统对开发者同样提供了非常方便的权限管理,在《Django Auth用户与用户组详述》一节,我们了解了 User 与 Group 都有与权限相关联的表,它们之间存在着关联关系,可见用户与权限之间是密不可分的关系,在它们关联表中记录着当前用户或用户组拥有的权限。Django 默认为每一个模型表添加四个权限即查看、增加、更新、删除。那么这些又是怎么样实现的呢?结合前面的知识内容,我们就来一起分析一下吧。 
1. 认识Django的权限管理
在《Django Auth用户与用户组详述》我们提到过 Permission 这张权限表,我们可以通过数据库查看它的数据表结构,如下所示:
mysql> desc auth_permission;
+-----------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(255) | NO | | NULL | |
| content_type_id | int(11) | NO | MUL | NULL | |
| codename | varchar(100) | NO | | NULL | |
+-----------------+--------------+------+-----+---------+----------------+
从上述表结构可以看出,Permission 权限表主要定义了 name、content_type_id、codename 三个字段,其中它的 content_type_id 为外键关联字段,它的各个字段的含义如下:name 表示权限名称,字符最大长度为 255;content_type 表示与 ContentType 是外键关联关系,这张表主要用于记录 App 与 model 的信息,最后一个字段 codename 代表权限的名称编码值,最多允许 100 个字符长度。它的表结构如下:
mysql> desc django_content_type;
+-----------+--------------+------+-----+---------+----------------+
| Field | Type |