【发布时间】:2014-10-09 19:03:09
【问题描述】:
我在 Jetty 9.1.5 上使用带有 shiro 插件 1.2.1 的 Grails 2.4.3 问题是每次重新加载页面时都会生成一个新的 JSESSIONID(Shiro 不应该这样做)。
但这真的很奇怪,因为情况并非总是如此: 如果我在 Windows 7 机器上使用 Chrome、Firefox 或 IE,我就会遇到问题。 如果我在装有 Ubuntu 的机器上使用 Chrome 或 Firefox,则行为是正确的(即使重新加载页面,JSESSIONID cookie 也会保留)
我尝试使用其他人在其他帖子中建议的不同 cookie 名称,但这并没有解决问题;每次刷新页面时都会再次生成具有新名称的 cookie。
我在我的 grails 应用程序中使用的 serverURL 的格式是 http://subdomain2.subdomain1.com,正如它所建议的那样(末尾没有斜线)
我检查了来自所有浏览器的请求,它们看起来都一样(除了用户代理之外具有相同的标头)所以我真的不明白为什么服务器在某些情况下每次刷新都会创建一个新会话并且其他一些则没有。
我在“sessionCreated”上有一个 HttpSessionListener 监听器,所以我可以完美地看到它。 ...但我不明白为什么,这让我发疯。 有什么建议?
【问题讨论】:
标签: session grails jetty shiro