| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Python知识库 -> 项目积累 之 权限系统Hub(一) -> 正文阅读 |
|
[Python知识库]项目积累 之 权限系统Hub(一) |
一、什么是权限? 简而言之,就是使得相应的用户拥有对应的身份,或者是相应的用户分配对相应资源的读、写、授予权限。 权限机制能够约束用户行为,控制页面的显示内容,也能使得API(应用程序接口)更加安全和灵活;用好权限机制,能够让系统更加强大和健壮。
1、Permission(权限表): ?? ?Django用permission对象存储权限项,每个model默认都有三个permission:即①add model,②change model,③delete model ??? ?Permission都是django.contrib.auth.Permission类型的实例,该类型包含三个字段name,?codename?和?content_type,其中?content_type反应了permission属于哪个model,codename代码逻辑中检查权限时要用,?name是permission的描述,将permission打印到屏幕或页面时默认显示的就是name。 ? ? 2、User(用户表) ?? Django内置的User模型,拥有以下的字段: ● username:用户名,非空 并且必须唯一。 ● password:密码,经过哈希过后的密码。 ● is_staff:是否可以进入到admin的站点,代表是否是员工。 ● is_superuser:是否是超级管理员(admin),如果是超级管理员,那么拥有整个网站的所有权限。 ● is_active:是否是可用的。对于一些想要删除账号的数据,我们设置这个值为0就可以了,而不是真正的从数据库中删除。 ● last_login: 上次登录的时间 ● date_joined: 账号创建的时间 1> 创建User ●通过create_user 内部方法创建user。
●update_or_create() 创建user: 修改或创建
2> 查询User 进入数据库,找到auth_user这张表,我们就能查到我们刚才创建的用户的信息。????
3> model.objects.filter() 利用filter方法:
4> 为User添加上Permission
3、Group() ??? 代表的是User的密级,1——6分别是 everyone、public、inside、secret、confidential、topSecret ? ? ? ? ? ? ? ? ??? ?? Admin分配的密级是topSecret:最高级权限,能看这个系统所有人公开、涉密的信息。? ?? 普通用户分配的密级是:everyone、public,能看到自己的相关数据权限以及其他人共享的。 ? ? ? ? ? ? ? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/16 5:31:30- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |