You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

23 lines
850 B

9 months ago
from django.utils.deprecation import MiddlewareMixin
from django.shortcuts import HttpResponse, redirect
class AuthMiddleware(MiddlewareMixin):
def process_request(self, request):
# # 0.排除那些不需要登录就能访问的页面
# print("Middleware process_request is called")
# # request.path_info 获取当前用户请求的URL /login/
if request.path_info in ['/login/']:
return
# 1.读取当前访问的用户的session信息如果能读到说明已登陆过就可以继续向后走。
info_dict = request.session.get("info")
print(info_dict)
if info_dict:
return
# 2.没有登录过,重新回到登录页面
return redirect('/login/')
# 读取当前访问的用户的session信息判断是否已登录