django 解决白名单

摘要:
1.settingsWHITE_ REGEX_ URL_LIST=[“/register/”,“/send/ssms/”,“/login/”,”/image/code/“,”/index/“,]2.来自django的中间件。实用程序。declarationimportMiddlewareMixin来自django的weimportmodels。数据库。模型导入设置

1. settings

WHITE_REGEX_URL_LIST = [
    "/register/",
    "/send/sms/",
    "/login/",
    "/image/code/",
    "/index/",
]

2. 中间件

from django.utils.deprecation import MiddlewareMixin
from wed import models
from django.db.models import settings
from django.shortcuts import redirect


class AuthMiddleware(MiddlewareMixin):

    def process_request(self, request):
        user_id = request.session.get('user_id', 0)

        user_obj = models.UserInfo.objects.filter(id=user_id).first()
        request.tracer = user_obj

        # 白名单
        """
        1. 获取当用户访问的URL
        2. 检查URL是否在白名单中,如果再则可以继续向后访问,如果不在则进行判断是否已登录
        """
    
      # 获取访问者的url if request.path_info in settings.WHITE_REGEX_URL_LIST: return if not request.tracer: return redirect('login')

3. settings配置

MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    ......   
    'wed.middleware.auth.AuthMiddleware',
]

免责声明:文章转载自《django 解决白名单》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇浅析Uint8Array语法及常见使用、Uint8Array.slice与Uint8Array.subarray区别(是否指向同一个内存空间)、new Uint8Array(typedArray)构造函数对typedArray的引用问题(保持同一个引用)、Uint8Array与String互相转换python爬虫——对爬到的数据进行清洗的一些姿势(5)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

对actuator的管理端点进行ip白名单限制(springBoot添加filter)

在我们的SpringCloud应用中,我们会引入actuator来进行管理和监控我们的应用 常见的有:http://www.cnblogs.com/yangzhilong/p/8378152.html 如果开启  endpoints.restart.enabled=true 则会有pause、restart等端点。 对shutdown、pause、rest...

Django Admin Cookbook-9如何启用对计算字段的排序

9.如何启用对计算字段的排序? 通常,Django会为模型属性字段,自动添加排序功能。当你添加计算字段时,Django不知道如何执行order_by,因此它不会在该字段上添加排序功能。 如果要在计算字段上添加排序,则必须告诉Django需要排序的内容。你可以通过在在计算字段方法中设置admin_order_field属性来执行此操作 。 我们从上一章(如何...

REST FRAME WORK--认证 权限 Xadmin

目录 1. 认证Authentication 2. 权限Permissions 使用 全局设置 局部配置 提供的权限 举例 自定义权限 3. 限流Throttling 使用可选限流类 实例 4. 过滤Filtering 5. 排序 6. 分页Pagination可选分页器 7. 异常处理 ExceptionsREST fra...

Django【十七】权限管理与路径导航

1、url权限管理 设计表 1、设计表 系统一共有多少个路径; 有哪些用户使用; 用户在公司的角色; 对角色进行权限分配(什么样的角色可以访问什么样的路径); 2、往表中添加数据,分配角色权限 3、登录成功,设置session,并将该用户可以访问的url从表中取出保存在session中, 4、设置中间件rocess_re...

06 django视图层

视图层   视图就是一个函数,请求过来后要做什么事情都在这个函数里,也就是具体处理请求的功能。   熟练掌握两个视图层对象:请求对象(request)和响应对象(HttpResponse)。 HttpRequest对象 1 from django.shortcuts import render,redirect,HttpResponse 2 from...

Django中的Model模型

Model模型 模型是你的数据的唯一的、权威的信息源。它包含你所储存数据的必要字段和行为。 通常,每个模型对应数据库中唯一的一张表。 每个模型都是django.db.models.Model的一个Python 子类。 模型的每个属性都表示为数据库中的一个字段。 Django 提供一套自动生成的用于数据库访问的API; 这极大的减轻了开发人员的工作量,不...