在同一浏览器中并行使用多个GWT会话



我们有一个SmartGWT应用程序(具有Spring安全性),我们希望相同的用户能够登录使用相同的登录信息,但不同的选项卡获得不同的会话。

  1. 用户1在应用程序中打开浏览器选项卡Tab1
    • 获取会话Session1
    • 选择角色…
  2. 用户2用应用程序

    打开一个新的Tab2浏览器
    • 获得一个新会话Session2

    用户同时使用Tab1和Tab2。各会话之间不应相互影响

我们当前的应用程序使用spring安全性。基于角色可能没有问题用户的GrantedAuthorities。但我们宁愿有完全不同的会议,以便简化应用程序的代码

基于Cookie的会话系统似乎不可能不使会话无效。但是会议不应该无效……只有一个新的会话应该附加到新的选项卡。

HttpSession.getSession(true)只在不存在的情况下返回一个新的会话。

似乎可以使用URL重写方法来创建一个新的会话。谁能告诉我们这是否可能?

1a如果是,请给我们一个实现问题的想法或者步骤。

一方面我不完全确定如果使用URL重写方法会有什么后果。

2这是否意味着如果客户端发送一个没有会话id的请求,就会创建一个新的会话

url重写方面是否对GWT后端有其他影响?

因为只有一个会话可以连接到浏览器和网站,我能想到的唯一方法是为每个标签有不同的子域,这将强制创建新的会话(在这一点上也是一个新的登录,所以一个openid登录将是方便的)。

我的意思是,例如,在标签1中有www.yourdomain.com,在标签2中有www2.yourdomain.com,在标签3中有www3.yourdomain.com,等等,直到一个合理的最大标签数量

或者,如果可能的话,教育用户使用2到3种不同的浏览器(例如Firefox, Opera, Chrome, Safari,举几个好的例子)会简单得多。

相关内容

  • 没有找到相关文章

最新更新