首页 > 其他 > 详细

2.基本权限验证之权限信息初始化

时间:2020-09-02 09:20:02      阅读:71      评论:0      收藏:0      [点我收藏+]

整体思路:在用户登陆之后拿到用户的信息,加入session

from rbac.models import UserInfo
from django.shortcuts import render

# 判断用户是否存在
obj = UserInfo.object.filter(name=‘用户名‘, pwd=‘密码‘).first()
if not obj:
      return render(request, ‘login.html‘, {"msg":"用户名或密码错误"})

# 用户信息和权限信息写入session
obj.roles.all().values(‘id‘, ‘title‘, ‘permissions__url‘)    # 用户信息和角色信息是多对多的关联关系, roles和permissions是多对多的关联关系,这里反向查询用户关联的角色下的权限
obj.roles.all() #会把和这个用户相关的id和title,permission__url都查询出来,使用filter加条件可以过滤到用不到的数据,
obj.roles.filter(permissions__url__isnull).values(‘id‘, ‘title‘, ‘permissions__url‘) #过滤到用permissions__url 为空的字段
permission_list = obj.roles.filter(permissions__url__isnull).values(‘id‘, ‘title‘, ‘permissions__url‘).distinct()去重

# 用户权限写入session
request.session = list(permission_list)

配套的视频
https://www.bilibili.com/video/BV1DE41147b9?p=13

2.基本权限验证之权限信息初始化

原文:https://www.cnblogs.com/bibicode/p/13599790.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!