我们有一个SmartGWT应用程序(带有Spring安全性),我们希望同一个用户能够登录 使用相同的登录信息,但为不同的选项卡获取不同的会话。
用户2使用应用程序
打开浏览器新的Tab2用户并行使用Tab1和Tab2。会议不应该影响彼此。
我们当前的应用程序使用spring security。基于角色可能没有问题 GrantedAuthorities为用户。但我们宁愿完成不同的会议 简化应用程序的代码。
在不使会话无效的情况下,似乎不可能使用基于Cookie的会话系统。 但是会话不应该无效......只有新会话应该附加到新选项卡。
HttpSession.getSession(true)仅在不存在时才返回新会话。
似乎可以使用URL重写方法来创建新会话。 1有人能告诉我们是否可能和
1a如果是,请告诉我们实施问题 或步骤。
一方面我不完全确定如果使用URL重写方法会产生什么后果。
2这是否意味着如果客户端发送没有会话ID的请求,则会创建新会话
3网址重写方面是否会对GWT后端产生其他影响
答案 0 :(得分:1)
由于只有一个会话可以附加到浏览器和网站,我可以考虑的唯一方法是为每个选项卡设置不同的子域,这将强制创建新会话(在还指向一个新的登录,因此openid登录将很方便。
我的意思是拥有,例如标签1中的www.yourdomain.com,标签2中的www2.yourdomain.com,标签3中的www3.yourdomain.com等等,最多可达到合理的最大标签数。< / p>
或者,如果可能的话,教育用户拥有2个或3个不同的浏览器(例如Firefox,Opera,Chrome,Safari,提及好的浏览器)会更加简单。