在我的Web应用程序中,我需要限制访问我的Web应用程序的最大用户数。没有用户在单独的属性文件中配置。我创建了一个HttpSessionListener接口来跟踪不同的用户,但面临的问题是一个用户可以请求使用多个浏览器实例,并且用户数量增加1,即使具有不同浏览器instance.i的同一用户需要根据不同的IP地址或其他一些独特参数计算用户数。
答案 0 :(得分:3)
可能是使用会话cookie - 如果新连接的用户没有会话cookie,请给他们一个并增加你的计数器,否则不要增加计数器。
答案 1 :(得分:2)
您无法知道同一个用户是否正在使用不同的用户实例,也无法知道用户是否使用了两台不同的计算机等等。
您可以限制每个用户允许的最大打开会话数,但请注意,Cookie只是一个序列号,可以作为标题在另一个浏览器实例中注入。如果用户位于同一子网后面,您甚至无法用该IP地址区分该情况。
我的意思是,无论什么达到客户端的范围,都不可能在你的控制之下。所以,我很确定,虽然你可能会增加一些障碍,但你永远无法控制它。
无论如何,这里有一些障碍:
答案 2 :(得分:1)
在用户登录表单后面隐藏您的webapp,并根据登录用户的数量进行限制。
答案 3 :(得分:0)
这不仅是一个真正的问题。
例如,惠普的“Quality Center”就是这样的:它们计算当前活动登录的数量。如果达到同时登录的限制,则无法使用新登录名登录。
效果很好。
但是,如果您使用已经连接的登录,则可以使用该应用程序。因此,使用相同登录的两个用户可以同时工作。
仍然是一个很好的解决方案,而不是太复杂的开发。
答案 4 :(得分:0)
这一直是我遇到过的最疯狂的问题,而蛋糕的顶部是
我创建了一个HttpSessionListener接口来跟踪不同的用户,但面临的问题是一个用户可以请求使用多个浏览器实例,即使同一个用户使用不同的浏览器instanc
严重?谁甚至想出了这些要求。你需要解决的问题是疯狂的要求,而且严肃地说,不要仅仅因为BA感到困惑而没有完成他们的工作而实施疯狂的事情。