django中间件中判断前端是不是ajax请求,从而判断是否有权限

` def process_view(self, request, view_func, view_args, view_kwargs):
# 权限判断
# 获取当前路由的name 和 settings中的权限表比较
url_list = []
current_name = request.resolver_match.url_name

    if current_name in NB_ROOT:
        return None
    if current_name not in NB_PERMISSIONS[request.ee["isadmin"]]:
        is_ajax = request.headers.get('X-Requested-With') == 'XMLHttpRequest' 
        if is_ajax:
            return JsonResponse({"code":403, "msg":"没有权限"})
        return redirect('no_permission')
    url_list.append(NB_PERMISSIONS[request.ee["isadmin"]].get(current_name).get("text"))`
posted @ 2024-09-15 15:17  龙岩龙  阅读(13)  评论(0编辑  收藏  举报