首页 > 编程语言 > 详细

Springboot+shiro+cas项目的shiro升级为1.7.1后第一次访问项目,后台400错误

时间:2021-03-29 17:48:01      阅读:812      评论:0      收藏:0      [点我收藏+]

我的项目shiro版本为1.5.4 升级为1.7.1后第一次访问报错400,通过报错可以看到400报错大致为参数问题

技术分享图片

通过查看地址栏的地址后发现

技术分享图片

 

后面多出来jsessionid的参数.

通过网上查找后统共发现两种方式的修改,一种是shiro配置文件,另一种为tomcat的配置文件

一.shiro配置文件方式

在自己的shiro配置类中技术分享图片进行配置,添加如下方法

 

 

 

技术分享图片

/**
* shiro session的管理
*/
@Bean
public DefaultWebSessionManager sessionManager() {
DefaultWebSessionManager defaultWebSessionManager = new DefaultWebSessionManager();
defaultWebSessionManager.setSessionIdUrlRewritingEnabled(false);
return defaultWebSessionManager;
}
@Bean
public SecurityManager securityManager(){
DefaultWebSecurityManager defaultWebSecurityManager = new DefaultWebSecurityManager();
defaultWebSecurityManager.setRealm(jwtRealm());
defaultWebSecurityManager.setSessionManager(sessionManager());
return defaultWebSecurityManager;
}

 

这种是代码实现的去除jessionid的方式,在我的项目放到服务器后,不起作用,还是会有jessionid,

通过根据源码的跟踪,发现第一次没有进入shiro的方法添加jessionid,所以我判断一定是tomcat为url添加了jessionid

二.tomcat添加去除jessionid方法

在tomcat的web.xml文件设置如下参数

技术分享图片

 <tracking-mode>COOKIE</tracking-mode>

重启服务器后,问题解决

 

Springboot+shiro+cas项目的shiro升级为1.7.1后第一次访问项目,后台400错误

原文:https://www.cnblogs.com/Cuiyuhao/p/14592681.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!