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的具体实现方式。希望这些内容可以为您提供实际的帮助。

上一篇:ajax异步请求阿里云天气api
下一篇:旋转相册

发表评论

最新留言

很好
[***.229.124.182]2025年04月14日 16时19分07秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章