我的websphere门户网站设置有问题。 当我从同一浏览器login多个浏览器(firefox中的每个标签页有一个用户)时,他们似乎共享同一个会话,所以如果用户A先login然后用户Blogin,则用户A消失并获得用户B会话。 任何人有任何想法,为什么这可能会发生。 如果我尝试使用同一个浏览器login同一个用户两次,当一个标签登出时,两者都将被注销。
最佳Resgards安德斯奥尔姆
您似乎对Web应用程序中的“会话”如何工作感到困惑。
HTTP本身是无状态的,即它没有会话的概念 – 每个页面请求是完全独立的。
因此,会话必须使用一些基于HTTP的机制。 有两个基本的方法:
如果您使用cookie,您的服务器会向浏览器发送一小段数据(通常是一个会话ID),浏览器在查询时会发送一个数据。 这允许服务器将浏览器请求识别为属于某个会话的浏览器请求,但由于Cookie对于浏览器是全局的(而非每个窗口或每个选项卡),因此每个浏览器只有一个会话。
个性化页面意味着在每个页面服务器上,每个链接都embedded了会话ID,这样每个页面请求在其URL中都有会话信息。 这样服务器再次知道请求属于哪个会话。 这允许一个浏览器内的几个会话。
这可能是因为相关网站正在使用cookie来存储您的会话信息。 因此,每个浏览器只能有一个会话。 为了能够为每个选项卡设置不同的会话,您需要使用会话状态服务器来保存会话信息。
在IIS中,您可以select在SQL数据库中执行此操作,也可以通过会话状态服务器(它是运行会话状态的特殊服务器)执行此操作。 我假设websphere门户也有这些选项。
您可以通过login到指向同一台计算机的两个单独的域下的门户网站来解决此问题,因此Cookie不会在门户网站之间共享。 没有共享cookie =会话之间没有共享状态。
根据您的门户网站configurationCookie的方式,您可以使用两个独立的子域来完成 – 或者,如果您的门户网站将Cookie设置为* .domain.com,则可能需要使用两个完全不同的域。 如果多个门户域在您的DNS上不可用,您可以直接进入主机文件并创build一些虚拟域来指向门户IP地址。