Java 如果用户已经登录Struts 2,则阻止其登录web应用程序

Java 如果用户已经登录Struts 2,则阻止其登录web应用程序,java,jakarta-ee,struts2,Java,Jakarta Ee,Struts2,如果某个用户已经使用Struts2 framework登录到另一个系统上,我如何防止该用户登录?如果您能够与现有应用程序集成,那么只需在配置中添加几行代码,就可以通过简单的配置来处理该应用程序 将以下行添加到配置文件中 <http> ... <session-management> <concurrency-control max-sessions="1" /> </session-management>

如果某个用户已经使用Struts2 framework登录到另一个系统上,我如何防止该用户登录?

如果您能够与现有应用程序集成,那么只需在配置中添加几行代码,就可以通过简单的配置来处理该应用程序

将以下行添加到配置文件中

  <http>
    ...
    <session-management>
        <concurrency-control max-sessions="1" />
    </session-management>
  </http>  

...
它一次只允许一个用户登录,如果用户是从不同的系统或浏览器登录,它将给出一条消息,说明用户已达到最大登录限制

如果您不选择spring安全性,则可以使用下面的选项

如果需要,使用SessionInterceptor检查会话有效性 会话有效它将检查用户是否已登录到 应用程序(为此,您必须在某处维护会话 例如,每个成功登录的数据库),如果找到有效登录, 再次将用户重定向到带有自定义消息的登录页面,或注销 已经有效的会话,然后重定向他重新登录。如果你 在之前的会话中注销意味着该会话中的任何后续操作 浏览器会话必须处理无效会话


我编辑了你的帖子(语法),并假设你是指同一个用户登录到其他地方,对其进行了更改。如果不是这样(当任何人在其他地方登录时阻止登录),请编辑您的问题以反映这一点。可能您需要使用数据库管理它。如果用户直接关闭浏览器实例,我可以在数据库中重置谁