根本原因,多个自定义过滤器执行顺序问题
action请求中request对象为shirohttprvletrequest,可以取到ssion内容
而在第一个自定义过滤器中request对象为requestfacade,取不到ssion内容
ssion由shiro管理,凡是在shiro过滤器顺序之前的自定义过滤器都取不到ssion内容
将shiro过滤器放在第一个位置
@configurationpublic class interceptorconfig implements webmvcconfigurer { /** * 注册拦截器 */ @override public void addinterceptors(interceptorregistry registry) { registry.addinterceptor(new myinterceptor()).addpathpatterns("/**.html").excludepathpatterns("/ylogin.html","/拜年作文300字yindex.html","/yregister.html"); }}
然后那时候我这边ssion.getattribute(“ur”)一直为空
public class myinterceptor implements handlerinterceptor { //在请求处理之前进行调用(controller方法调用之前 @override public boolean prehandle(httprvletrequest httpr投档线是什么vletrequest, httprvletrespon httprvletrespon, object o) throws exception { system.out.println("开始请求地址拦截"); //获取ssion httpssion ssion = httprvletrequest.getssion(); if (ssion.getattribute("ur") != null) return true; httprvletrespon.ndredirect("/ylogin.html"); return fal; } //请求处理之后进行调用,但是在视图被渲染之前(controller方法调用之后) @override public void posthandle(httprvletrequest httprvletrequest, httprvletrespon httprvletrespon, object o, modelandview modelandview) throws exception { system.out.println("posthandle被调用"); } //在整个请求结束之后被调用,也就是在dispatcherrvlet 渲染了对应的视图之后执行(主要是用于进行资源清理工作) @override public void aftercompletion(httprvletrequest httprvletrequest, httprvletrespon httprvletrespon, object o, exception e) throws exception { system.out.println("aftercompletion被调用"); }}
但是在拦截器那里就ssion为null,烦了很久,以为是自己写错了拦截器,搞了很久最后才知道,是login.js写错了。就是ajax的url写错了
$.ajax({ type: "post", url: "/ur/dologin温岚 傻瓜", datatype: "json", data:ur, 元宵前后共团圆打一字async:fal, success: function(res) {} })
因为我以前地址写的是url:“htt深圳欢乐谷攻略p://127.0.0.1:8080/ur/dologin”,把前面的ip地址省略就行了,ip地址和localhost的区别
以上为个人经验,希望能给大家一个参考,也希望大家多多支持www.887551.com。
本文发布于:2023-04-04 14:10:13,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/fc087f9a2aff451eb05a79d39d75bc04.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:关于自定义过滤器获取不到session问题.doc
本文 PDF 下载地址:关于自定义过滤器获取不到session问题.pdf
留言与评论(共有 0 条评论) |