一 简介:小小的记录下具体的思路和相关代码
二 具体阐述
# 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):