zmz 1 year ago
parent 5f1b97bc4e
commit c68a6ba539

@ -1,24 +1,24 @@
import re
from django.shortcuts import redirect
from django.utils.deprecation import MiddlewareMixin
# 自定义中间件(登录验证)
class AuthMiddleware(MiddlewareMixin):
def process_request(self,request):
# 需要登录后访问的地址要验证登录状态
# 拿到请求的路径,然后与列表中的路径作对比
# 默认所以路径都需要验证,如果请求的路径在列表中,那么不用验证就可以进入
url = request.path_info
for i in [r'^/admin/','r/^user/login/$','r/^/user/userreg/$']:
if re.match(i,url):
#请求的路径是列表的路径那么直接返回,不再阻拦
return
#校验登录状态
is_login = request.session.get('is_login')
if is_login:
#已经登录可以访问直接return
return
else:
#未登录,跳转到登录页面
return redirect('/user/login')
# import re
# from django.shortcuts import redirect
# from django.utils.deprecation import MiddlewareMixin
#
# # 自定义中间件(登录验证)
# class AuthMiddleware(MiddlewareMixin):
# def process_request(self,request):
# # 需要登录后访问的地址要验证登录状态
# # 拿到请求的路径,然后与列表中的路径作对比
# # 默认所以路径都需要验证,如果请求的路径在列表中,那么不用验证就可以进入
# url = request.path_info
# for i in [r'^/admin/','r/^user/login/$','r/^/user/userreg/$']:
# if re.match(i,url):
# #请求的路径是列表的路径那么直接返回,不再阻拦
# return
#
# #校验登录状态
# is_login = request.session.get('is_login')
# if is_login:
# #已经登录可以访问直接return
# return
# else:
# #未登录,跳转到登录页面
# return redirect('/user/login')

@ -5,5 +5,6 @@ from manage import views
from manage.views import *
urlpatterns = [
path('login/', ChooseLoginView.as_view()),
path('admin/', admin.site.urls),
path('', views.ChooseLoginView.as_view()),
]

@ -49,7 +49,7 @@ MIDDLEWARE = [
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'manage.middlewares.my_middlewares.AuthMiddleware'#自定义中间件
# 'manage.middlewares.my_middlewares.AuthMiddleware'#自定义中间件
]
ROOT_URLCONF = 'project_manage.urls'
@ -115,6 +115,8 @@ LANGUAGE_CODE = 'zh-hans'
TIME_ZONE = 'Asia/Shanghai'
USE_I18N = False
USE_TZ = True
SIMPLEUI_DEFAULT_THEME = 'element.css'
STATIC_URL = '/static/'
STATICFILES_DIRS = [

@ -16,9 +16,12 @@ Including another URLconf
"""
from django.contrib import admin
from django.urls import path,include
from manage import views
from manage.views import ChooseLoginView
urlpatterns = [
path('admin/', admin.site.urls),
path('user/',include('manage.url')),
path('',include('manage.url'))
path('',include('manage.url')),
# path('user/',include('manage.url')),
path('user/', ChooseLoginView.as_view()),
]

Loading…
Cancel
Save