IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: 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(应用程序接口)更加安全和灵活;用好权限机制,能够让系统更加强大和健壮。

  • Django中自带的

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。

User.objects.create_user(username='xjy',email='xielang@qq.com',password='admin')

●update_or_create() 创建user: 修改或创建

User.objects.update_or_create(username=str(uuid_pattern),first_name=test_pattern)

2> 查询User

进入数据库,找到auth_user这张表,我们就能查到我们刚才创建的用户的信息。????

# 获取用户信息:get方法
user = User.objects.get(username='xjy')
user.last_name = 'aaa'
user.save()? #更改完数据之后一定要记得保存

3> model.objects.filter()

利用filter方法:

  • 查看User这个表中 username为depart_id的用户数量
User.objects.filter(username=depart_id).count()
  • 从数据库的取值匹配的结果,返回一个对象列表
User.objects.filter(user=pattern_user).all()

4> 为User添加上Permission

 try:
     # 为user添加权限: user_permissions.add()
     user.user_permissions.add(perm_ins)
     print("Success: 为user添加上permission")
 
 except Exception as e:
     print("====Failed: : 为user添加上permission ====")
     print e

3、Group()

??? 代表的是User的密级,1——6分别是 everyone、public、inside、secret、confidential、topSecret

? ? ? ? ? ? ? ? ???

?? Admin分配的密级是topSecret:最高级权限,能看这个系统所有人公开、涉密的信息。?

?? 普通用户分配的密级是:everyone、public,能看到自己的相关数据权限以及其他人共享的。

? ? ? ? ? ?

?

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-12-18 15:55:49  更:2021-12-18 15:56:54 
 
开发: 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-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码