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