python - 中间件 验证用户登录


1.  建立文件夹 创建文件 auth.py

from django.utils.deprecation import MiddlewareMixin
from django.shortcuts import redirect

'''中间件'''
class AuthMiddleware(MiddlewareMixin):

    def process_request(self, request):

        # 排除直接访问页面
        if request.path_info == '/login/':
            return print('Auth 进来了1 ')

        # 1 .读取当前用户信息
        info_dict = request.session.get('info')

        if info_dict:
            return
        # 没有登录信息
        return redirect('/login/')

2.  使用中间件 

setting.py  注册中间价    app.middleware.auth.AuthMiddleware   |  文件夹: middleware:  - 文件名称:auth  | AuthMiddleware 

MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
    'app.middleware.auth.AuthMiddleware',
]

相关