django基础知识~RBAC实验部分代码记录
一 简介:小小的记录下具体的思路和相关代码
二 具体阐述
# setting处理逻辑
PERMISSION_SESSION_KEY = 'permissions' #这里填写需要存取权限的session-key
MENU_SESSION_KEY = 'menus'
WHITE_URL_LIST = [ #放置的url白名单
r‘^/login/$‘,
r‘^/logout/$‘,
r‘^/reg/$‘,
r‘^/admin/.*‘,
]
#login处理逻辑
user1=User.objects.filter(name=name,pwd=pwd).first() #登录校对获取queryset对象
request.session['user_id']=user1.pk #sesssion存储用户ID
Role.objects.filter(user__name=user1).values('permissions__url').distinct()#去重取得用户的权限列表
request.session[setting.PERMISSION_SESSION_KEY]=permission_list # session存储用户权限列表
#middle处理逻辑
from django.utils.deprecation import MiddlewareMixin
from django.conf import settings
# 白名单设立
for i in settings.WHITE_URL_LIST:
if re.match(i, current_url):
return
# 登录判断
if not request.session.get("user_id"):
# 权限判断
for ret in request.session["permission"]:
if re.search(ret,currentpath):
转载于:https://www.cnblogs.com/danhuangpai/p/11017651.html
总结
以上是生活随笔为你收集整理的django基础知识~RBAC实验部分代码记录的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: shell编程系列23--shell操作
- 下一篇: 手写ORM入门篇(一)