我的问题和Limit number of users accessing a web ASP .NET application一样,但是我在java6 tomcat7和struts 2中寻找解决方案
需求:

  • 只有N个用户可以同时登录。
  • 同一用户无法从另一个系统/浏览器登录。
  • (如果N + 1个用户尝试登录),然后显示消息并拒绝。
  • 如何处理用户是否无法正确注销(关闭浏览器/会话超时/网络问题等)。

  • 我正在考虑使用静态地图,并创建用于登录和注销的条目。
    您能提供任何建议/想法吗?
    谢谢
    -Jiggi

    最佳答案

    您可以使用以下代码计算 Activity 会话的数量

    public class SessionCounter implements HttpSessionListener {
    
         private static int activeSessions = 0;
    
        public void sessionCreated(HttpSessionEvent se) {
            activeSessions++;
        }
    
         public void sessionDestroyed(HttpSessionEvent se) {
            if(activeSessions > 0)
                activeSessions--;
        }
    
    
         public static int getActiveSessions() {
            return activeSessions;
         }
     }
    

    这样,您可以限制会话。例如:如果 Activity 会话为20,则不再创建

    08-27 13:00