利用Django中间件middleware解决用户未登录问题
最近我们做的新项目还有一个问题没有解决,那就是用户未登录系统时,不能通过非登录的url直接进入系统,之前用java做的项目记得struts2有过滤器,还用过spring MVC的拦截器,其实这些都是filter的组件,这样很容易实现所需的功能,然而目前项目用的django框架,经研究,Django里面有没有类似filter的组件。遗憾的是,并未发现Django中有类似过滤器或者拦截器的概念。然而,Django提供了功能或许更为强大(至少是不弱于)这些概念的新东西:middleware。
经过查资料,终于实现了这个功能,我写了这样的一个middleware,它拦截所有访问非login页面的请求,检测其cookie,并判断将请求转向login页面或者其请求的页面。 具体做法如下:
(1)首先我自己先创建了一个app,命名为mymiddleware,并在里面添加了一个mymiddleware.py
(2)在settings.py中配置加载这个中间件,首先在配置文件的INSTALLED_APPS末尾加一个 'mymiddleware',在MIDDLEWARE_CLASSES的末尾加上 'mymiddleware.mymiddleware.QtsAuthenticationMiddleware',
(3)具体写mymiddleware.py,如下

这样经过测试,如果用户没有登陆过系统,输入系统中网址,会自动跳转到登录页面!!
本文来源 我爱IT技术网 http://www.52ij.com/jishu/1174.html 转载请保留链接。
- eofexception即java.io.EOFException的终极解决方
- stackoverflowerror(java.lang.stackoverflowerro
- delphi解决TADOConnection断网无法重连的问题
- delphi下使用ADO组件时出现“字符串数据,右截位
- WASCE 出现org.apache.geronimo.kernel.config.In
- 解决tuxedo JOLT RE.html连接JOLT服务时出现的rea
- Oracle Jolt的配置和中文乱码问题的解决
- ubuntu sudoers崩溃了,使用优盘启动ubuntu最终解
- ubuntu 10.10下遇到 E:Error, pkgProblemResolver
- ubuntu 10.10 NFS配置及常见问题解决
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
