是否可以在同一HTTP会话中拥有多个用户

时间:2013-05-08 02:52:03

标签: http session gwt servlets request

这不是严格意义上的GWT问题,但是由于上下文我得出的问题是GWT。我包含了GWT和servlet标记。

由于多个请求可以属于同一个会话,并且每个请求都有一个与之关联的远程用户(null或非null),因此我想知道是否可以在会话中拥有不同的用户。

假设用户使用其他帐户登录,注销和重新登录,我们是否还在服务器端的同一会话中?

编辑以解决BalusC答案提出的含糊之处:   - 我不是在问“同时拥有多个用户”。问题是,是否可以让多个用户进入同一会话。

1 个答案:

答案 0 :(得分:3)

你的问题很模糊。


  

是否可以在同一个HTTP会话中拥有多个用户

这取决于你如何定义“用户”。

如果是登录用户(通常存储在HTTP会话中/与HTTP会话关联),那么这是不可能的。只能同时存在一个。

但是,如果它是客户端,那么绝对可以让多个客户端共享同一个会话(并且本质上也是完全相同的登录用户)。这可以通过session fixation attack来实现,可以在cross site scripting的帮助下执行。基本上,当多个客户端使用完全相同的JSESSIONID cookie时。


  

假设用户使用其他帐户登录,注销和重新登录,我们是否还在服务器端的同一会话中?

这基本上是与标题中提到的问题不同的问题。在考虑“在同一时刻”时,严格地说没有“同一会话中的多个用户”的方法。

无论如何,当注销没有使会话无效时,这违背了“常规做法”,那么这确实是非常可能的。


另见: