博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
django基础知识~RBAC实验部分代码记录
阅读量:6990 次
发布时间:2019-06-27

本文共 882 字,大约阅读时间需要 2 分钟。

一 简介:小小的记录下具体的思路和相关代码

二 具体阐述    

   # 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

你可能感兴趣的文章
最小堆的基础操作(Java)
查看>>
bzoj2039: [2009国家集训队]employ人员雇佣(最小割)
查看>>
AspNetCore Mvc 使用 PartialView
查看>>
bzoj1227: [SDOI2009]虔诚的墓主人(树状数组,组合数)
查看>>
Sql Server 网络配置
查看>>
Oracle案例11——Oracle表空间数据库文件收缩
查看>>
看博客学学Android(十四)
查看>>
在Windows下安装配置jforum测试环境
查看>>
WEB基础
查看>>
AtCoder Regular Contest 081
查看>>
树状数组模板
查看>>
2017"百度之星"程序设计大赛 - 初赛(A)
查看>>
Python3 输出
查看>>
实验四 shell编程2
查看>>
多线程的那点儿事(基础篇)
查看>>
解决ViewPager多次刷新后重叠问题
查看>>
在Eclipse中使用JUnit4进行单元测试(中级篇)
查看>>
备忘 - Redis For Mac
查看>>
LeetCode - 51. N-Queens
查看>>
LeetCode 【46. Permutations】
查看>>