@Bean
public DefaultWebSessionManager sessionManager() {
DefaultWebSessionManager sessionManager = new DefaultWebSessionManager();
// 去掉shiro登录时url里的JSESSIONID
sessionManager.setSessionIdUrlRewritingEnabled(false);
if ("redis".equals(cacheType)){
sessionManager.setCacheManager(shiroRedisCacheManager());
Log.info("当前Shiro缓存框架为:redis",getClass());
}else if ("ehcache".equals(cacheType)){
sessionManager.setCacheManager(shiroEhCacheManager());
Log.info("当前Shiro缓存框架为:ehcache",getClass());
}else{
throw new RuntimeException("缓存类型值应该为:redis|ehcache;当前输入值:" + cacheType);
}
return sessionManager;
}
核心代码:
sessionManager.setSessionIdUrlRewritingEnabled(false);
以上片段代码关闭了URL中带SESSIONID
<link rel="stylesheet" th:href="@{/assets/framework/bootstrap/dist/css/bootstrap.min.css}"/>
在加载这个资源文件得时候同样会带出sessionid,可能会引起首次打开网页CDN加载失败,刷新一次恢复正常。<link rel="stylesheet" href="/assets/framework/bootstrap/dist/css/bootstrap.min.css"/>
https://blog.xqlee.com/article/757.html