Web应用程序的最大用户数

时间:2011-05-05 15:41:11

标签: jsp

在我的Web应用程序中,我需要限制访问我的Web应用程序的最大用户数。没有用户在单独的属性文件中配置。我创建了一个HttpSessionListener接口来跟踪不同的用户,但面临的问题是一个用户可以请求使用多个浏览器实例,并且用户数量增加1,即使具有不同浏览器instance.i的同一用户需要根据不同的IP地址或其他一些独特参数计算用户数。

5 个答案:

答案 0 :(得分:3)

可能是使用会话cookie - 如果新连接的用户没有会话cookie,请给他们一个并增加你的计数器,否则不要增加计数器。

答案 1 :(得分:2)

您无法知道同一个用户是否正在使用不同的用户实例,也无法知道用户是否使用了两台不同的计算机等等。

您可以限制每个用户允许的最大打开会话数,但请注意,Cookie只是一个序列号,可以作为标题在另一个浏览器实例中注入。如果用户位于同一子网后面,您甚至无法用该IP地址区分该情况。

我的意思是,无论什么达到客户端的范围,都不可能在你的控制之下。所以,我很确定,虽然你可能会增加一些障碍,但你永远无法控制它。

无论如何,这里有一些障碍:

  • 仅限登录。
  • 会话Cookie,域Cookie,隐藏输入文本框。
  • 执行奇怪操作的java applet(如获取子网或其他信息后的本地IP地址,如果允许的话)。
  • 一个做一些奇怪事情的flash程序。
  • 跟踪远程IP地址。
  • 以前的组合。

答案 2 :(得分:1)

在用户登录表单后面隐藏您的webapp,并根据登录用户的数量进行限制。

答案 3 :(得分:0)

这不仅是一个真正的问题。

例如,惠普的“Quality Center”就是这样的:它们计算当前活动登录的数量。如果达到同时登录的限制,则无法使用新登录名登录。

效果很好。

但是,如果您使用已经连接的登录,则可以使用该应用程序。因此,使用相同登录的两个用户可以同时工作。

仍然是一个很好的解决方案,而不是太复杂的开发。

答案 4 :(得分:0)

这一直是我遇到过的最疯狂的问题,而蛋糕的顶部是

  

我创建了一个HttpSessionListener接口来跟踪不同的用户,但面临的问题是一个用户可以请求使用多个浏览器实例,即使同一个用户使用不同的浏览器instanc

严重?谁甚至想出了这些要求。你需要解决的问题是疯狂的要求,而且严肃地说,不要仅仅因为BA感到困惑而没有完成他们的工作而实施疯狂的事情。