权限组件之录入获取登入用户的所有权限

Posted c-x-m

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了权限组件之录入获取登入用户的所有权限相关的知识,希望对你有一定的参考价值。

 权限组件之录入获取登入用户的所有权限

1.urls.py

技术分享图片

 

2.views.py 

get请求

技术分享图片

 

3.login.html

技术分享图片

页面

技术分享图片

 post请求

4.用户名或密码错误重新登入

验证用户名密码

 技术分享图片

 登入成功之后做什么呢???   

session

5.登入成功可以写session值,下次查看别的页面就知道是谁了。

pk指的的主键   

 技术分享图片

6.查看 django_session 表

随机字符串={user_id=3,}   通过取当前用户的id--->然后就可以取当前用户的所有信息。

 技术分享图片

 

获取当前用户的所有权限

 7.获取当前用户的所有权限

技术分享图片

技术分享图片

技术分享图片

 

user.roles.all()  找到用户的所有角色  

技术分享图片

a.假设alex登入成功后,所有的角色title (销售员、销售经理) 

 技术分享图片

 

b.查看销售员角色对应的所有权限title  user.roles.all().values("title", "permissions__url", "permissions__title")

技术分享图片

 

c.alex登入成功后,所有的角色title (销售员、销售经理);销售员所有权限2个,销售经理所有权限3个

总共打印出5条数据

技术分享图片

 

权限去重

有重复的权限,应该去重!!! ( title只是为了查看角色,接下来不打印title,数据就完全相同了。)

 user.roles.all().values("permissions__url","permissions__title").distinct()

技术分享图片

 

以上是关于权限组件之录入获取登入用户的所有权限的主要内容,如果未能解决你的问题,请参考以下文章

rbac基于角色的权限控制组件目录

18. 用户与权限管理

linux 中 root用户登入mysql数据库权限受限

权限组件之将登录用户权限写入到session中

权限管理系统

六.用户.群组和权限