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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值