【发布时间】:2012-01-22 01:05:00
【问题描述】:
我们有一个 SmartGWT 应用程序(具有 Spring 安全性),我们希望同一用户能够登录该应用程序 使用相同的登录信息,但针对不同的标签获得不同的会话。
- 用户 1 使用应用程序打开浏览器选项卡 Tab1
- 获取会话 Session1
- 选择一个角色...
-
用户 2 在浏览器中打开一个带有应用程序的新 Tab2
- 获得一个新的会话 Session2
用户同时使用 Tab1 和 Tab2。会话不应相互影响。
我们当前的应用程序使用弹簧安全性。基于角色可能没有问题 用户的 GrantedAuthorities。但我们宁愿有完全不同的会话,以便 简化应用程序的代码。
在不使会话无效的情况下,似乎不可能建立基于 Cookie 的会话系统。 但是会话不应失效...只有新会话应附加到新选项卡。
HttpSession.getSession(true) 仅在不存在时返回新会话。
似乎可以使用 URL 重写方法来创建新会话。 1 谁能告诉我们这是否可能和
1a 如果是,请告诉我们实施问题 或步骤。
一方面我不完全确定如果使用 URL 重写方法会有什么后果。
2 这是否意味着如果客户端发送一个没有会话 ID 的请求,就会创建一个新会话
3 url 重写方面是否对 GWT 后端有其他影响
【问题讨论】:
标签: session gwt spring-security smartgwt browser-tab