1

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

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

假设用户使用不同的帐户登录、注销并重新登录,我们是否仍在服务器端的同一会话中?

编辑以解决 BalusC 的回答提出的歧义: - 我不是在问“同时”拥有多个用户。问题是是否有可能让不止一个用户进入同一个会话。

4

1 回答 1

3

你的问题比较模棱两可。


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

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

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

但是,如果是客户端,那么绝对有可能让多个客户端共享同一个会话(并且本质上也是完全相同的登录用户)。这可以通过会话固定攻击来实现,该攻击可以在跨站点脚本的帮助下执行。基本上,当多个客户端使用完全相同的JSESSIONIDcookie 时。


假设用户使用不同的帐户登录、注销并重新登录,我们是否仍在服务器端的同一会话中?

这本质上是一个与标题中提出的问题不同的问题。当考虑“同时”时,这里严格没有“同一会话中的多个用户”的意思。

无论如何,当注销不会使会话无效时,这违反了“惯例”,那么这确实是很有可能的。


也可以看看:

于 2013-05-08T03:01:33.603 回答