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

本文共 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

你可能感兴趣的文章
sublime简书安装配置
查看>>
爱上MVC~Web.Config的Debug和Release版本介绍
查看>>
python__高级 : 动态添加 对象属性, 类属性, 对象实例方法, 类静态方法, 类方法...
查看>>
NLog的介绍使用
查看>>
括号和出栈所有序列问题
查看>>
第一次操刀数据库分表的教训与经验
查看>>
录音声音小
查看>>
Ubuntu 12.04 安装 Chrome浏览器
查看>>
java 反射
查看>>
ORACLE物化视图(物理视图)
查看>>
android 读取json数据(遍历JSONObject和JSONArray)(转)
查看>>
UIScrollView中的手势
查看>>
递归和迭代的差别
查看>>
基于jquery的可拖动div
查看>>
可以简易设置文字内边距的EdgeInsetsLabel
查看>>
[詹兴致矩阵论习题参考解答]习题1.3
查看>>
Android Fragment的使用
查看>>
沙朗javascript总结一下(一)---基础知识
查看>>
js深入研究之函数内的函数
查看>>
LeetCode:4_Median of Two Sorted Arrays | 求两个排序数组的中位数 | Hard
查看>>