
Springboot+Shiro 去除因JSESSIONID导致第一次访问请求时报400错误
发布日期:2021-05-14 16:16:54
浏览次数:12
分类:精选文章
本文共 1284 字,大约阅读时间需要 4 分钟。
在Shiro的配置中,我们需要进行一些重要的设置和配置。具体来说,我们需要在Shiro配置文件中添加相应的Bean配置,实现SessionManager和DefaultWebSecurityManager的集成配置。
首先,我们需要配置DefaultWebSessionManager。需要注意的是,这里不需要SessionIdUrlRewritingEnabled属性设置为false。因此,我们可以按照以下方式进行配置:
public DefaultWebSessionManager mySessionManager() { DefaultWebSessionManager defaultSessionManager = new DefaultWebSessionManager(); defaultSessionManager.setSessionIdUrlRewritingEnabled(false); return defaultSessionManager;}
接下来,我们需要将SessionManager与DefaultWebSecurityManager进行集成。需要注意的是,DefaultWebSecurityManager的配置需要携带UserRealm对象。因此,可以通过以下方式实现:
public DefaultWebSecurityManager getdefaultWebSecurityManager(@Qualifier("userRealm") UserRealm userRealm) { DefaultWebSecurityManager defaultWebSecurityManager = new DefaultWebSecurityManager(); defaultWebSecurityManager.setRealm(userRealm); defaultWebSecurityManager.setSessionManager(mySessionManager()); return defaultWebSecurityManager;}
需要注意的是,默认情况下SessionIdUrlRewritingEnabled需要设为false,以避免UnifiedSessionManager和StatelessSessionManager的ID전환冲突。
在实际应用中,需要注意以下几点:
- 配置的SessionManager会被集成到DefaultWebSecurityManager中,默认会使用SessionCookie的保存功能。
- 确保SessionManager的配置方式与其他Spring配置组件保持一致。
- 可以根据实际需求设置相应的SecurityManager和SessionManager的配置参数。
以上就是配置DefaultWebSecurityManager和SessionManager的具体实现方式。希望这些内容可以为您提供实际的帮助。
发表评论
最新留言
很好
[***.229.124.182]2025年04月14日 16时19分07秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
JDK9-15新特性
2019-03-11
集合继承结构
2019-03-11
LinkedList 实现类
2019-03-11
Vector 实现类
2019-03-11
HashMap类、HashSet
2019-03-11
HashTable类
2019-03-11
TreeSet、TreeMap
2019-03-11
ObjectInputStream、ObjectOutputStream
2019-03-11
JVM内存模型
2019-03-11
反射机制
2019-03-11
反射Field、Method、Constructor
2019-03-11
可变长度参数
2019-03-11
堆空间常用参数总结
2019-03-11
逃逸分析-堆分配对象
2019-03-11
常量池、运行时常量池
2019-03-11
3、条件查询
2019-03-11
5、分组函数 / 聚合函数
2019-03-11
8、子查询
2019-03-11
cordova打包apk更改图标
2019-03-11
开启与配置SMTP服务器
2019-03-11