【发布时间】:2012-05-14 02:01:17
【问题描述】:
当我在我的 jboss 中部署多个 Web 应用程序时,它们似乎都共享同一个会话,因为只创建了一个具有路径 - / 的 JSESSIONID cookie,这意味着可以从域内的任何地方访问它。但是,如果您在一个 Web 应用程序中执行 session.setAttribute(),该属性是否可用于其他应用程序(当他们使用 session.getAttribute() 时)?
【问题讨论】:
当我在我的 jboss 中部署多个 Web 应用程序时,它们似乎都共享同一个会话,因为只创建了一个具有路径 - / 的 JSESSIONID cookie,这意味着可以从域内的任何地方访问它。但是,如果您在一个 Web 应用程序中执行 session.setAttribute(),该属性是否可用于其他应用程序(当他们使用 session.getAttribute() 时)?
【问题讨论】:
session.setAttribute() 仅适用于您设置其属性的会话。您在每个会话上看到 JSESSIONID cookie 的原因是每个 Web 应用程序都单独设置它(是 Spring Security 吗?)。
【讨论】:
JSESSIONID 在所有应用程序中都是相同的。在 JBoss 下,JSESSIONID 对于每个应用程序都是不同的。
据我所知,每个WAR/EAR模块默认都会有自己的会话,所以答案是肯定的,会话属性是本地的,不会在同域的其他web应用中可用(见@ 987654321@)
【讨论】: