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入门篇(一)