zoukankan      html  css  js  c++  java
  • 权限中间件

    实现功能:白名单,正则匹配权限

    from django.utils.deprecation import MiddlewareMixin
    from django.shortcuts import redirect,HttpResponse
    import re
    
    
    class PermissionMiddleware(MiddlewareMixin):
        def process_request(self,request):
            # 获取当前用户访问的url
            current_path = request.path
            # 用户访问白名单
            white_list = ['/login/','/register/','/index/','/admin/*']
            for item in white_list:
                res = re.search(item,current_path)
                if res:
                    return None
    
            # 先校验当前用户是否登录
            if not request.session.get('username'):
                return redirect('/login')
            # 获取当前用户所有的权限
            permission_list = request.session.get("permission_list")
            if permission_list:
                for permission in permission_list:
                    permission = '^%s$'%permission
                    res = re.search(permission,current_path)
                    if res:
                        return None
            return HttpResponse('没有权限')
    权限验证中间件
  • 相关阅读:
    Codeforces 1182E Product Oriented Recurrence 矩阵快速幂
    Codeforces 1182D Complete Mirror hash
    HDU
    HDU
    HDU
    HDU
    HDU
    HDU
    web框架之Vue渐进式框架-安装及入门
    web框架之Jqeury基本使用
  • 原文地址:https://www.cnblogs.com/xuechengeng/p/10779112.html
Copyright © 2011-2022 走看看