首页 > Web开发 > 详细

django中间件判断用户有无权限访问当前的url

时间:2020-05-31 17:00:54      阅读:127      评论:0      收藏:0      [点我收藏+]
 1 from django.utils.deprecation import MiddlewareMixin
 2 from django.shortcuts import redirect, HttpResponse
 3 import re
 4 class RbacMiddleware(MiddlewareMixin):
 5 
 6     def process_request(self, request):
 7         
 8         # 获取访问的url
 9         current_url = request.path_info
10         
11         # 白名单
12         valid_url = [^/login/$, ^/admin/.*]
13         for item in valid_url:
14             if re.match(item, current_url):
15                 return
16             
17         # 是否登入
18         permission_list = request.session.get(permission_list)
19         if not permission_list:
20             return redirect(/login/)
21         
22         # 是否有权限访问
23         flag = False
24         for item in permission_list:
25             reg = ^%s$ % item.get(permission__url)
26             if re.match(reg, current_url):
27                 flag = True
28                 break
29         if not flag:
30             return HttpResponse(无权访问)

 

django中间件判断用户有无权限访问当前的url

原文:https://www.cnblogs.com/xiongfanyong/p/13006140.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!