zoukankan      html  css  js  c++  java
  • 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):

           

    
    
  • 相关阅读:
    分布式文件系统 FastDFS
    Autoit里用多进程模拟多线程
    请不要做浮躁的人(新手必读!)
    如何用AU3调用自己用VC++写的dll函数
    DLL编写教程
    win32下的命令行集合 (最优秀的工具)
    autoit 《FAQ 大全》
    Windows XP 常用DOS命令
    rundll32 常用命令
    批处理的高级运用技巧
  • 原文地址:https://www.cnblogs.com/danhuangpai/p/11017651.html
Copyright © 2011-2022 走看看