大连手机网站制作,找网络公司建网站的流程,成都小程序开发方案,营销型网站建设需要多少钱如果您不知道#xff0c; Spring安全性可能会限制用户可以拥有的会话数。 如果要开发Web应用程序#xff0c;尤其是Java JEE中的安全Web应用程序 #xff0c;则必须提出与在线银行门户相似的要求#xff0c;例如#xff0c; 每个用户一次只能有一个会话#xff0c;或者每… 如果您不知道 Spring安全性可能会限制用户可以拥有的会话数。 如果要开发Web应用程序尤其是Java JEE中的安全Web应用程序 则必须提出与在线银行门户相似的要求例如 每个用户一次只能有一个会话或者每个用户没有并发会话 。 即使您也可以在不使用Spring安全性但使用Spring安全性的情况下实现此功能它只是小菜一碟:)。 您只需要在spring安全配置文件中添加几行XML就可以完成。 为了实现此功能可以使用concurrency-control标记。 您可以配置应用程序支持的最大会话数然后Spring安全性将自动检测用户是否违反了限制并将其定向到您使用此标记指定的无效会话URL例如定向到注销页面。 与此类似 Spring Security提供了许多现成的功能这是authentication authorization session management password encoding secure access session timeout等所需的安全企业或Web应用程序。 在我们的Spring安全性示例中我们看到了如何使用Spring安全性在Active Directory中执行LDAP身份验证并且在此Spring安全性示例中我们将看到如何限制Java Web应用程序中用户可以拥有的会话数或如何限制并发用户会话。 Spring Security示例限制用户会话数 就像我说的那样当您使用spring安全框架或库时这很容易。 实际上所有内容都是声明性的不需要任何代码即可启用并发会话以禁用功能 。 您将需要在您的Spring Security Configuration文件中包含以下xml片段该片段主要命名为 applicaContext-security.xml 。 这是示例Spring安全性限制Java Web应用程序中用户会话的示例 session-management invalid-session-url/logout.htmlconcurrency-control max-sessions1 error-if-maximum-exceededtrue /
/session-management 如您所见您可以指定每个用户允许多少个并发会话 最安全的系统如在线银行门户仅允许每个用户一个经过身份验证的会话。 您甚至可以指定一个URL如果用户提交无效的会话标识符则该用户将被带到该URL该URL可用于检测会话超时。 session-management元素用于捕获与会话相关的内容。 Max-session指定允许多少个并发身份验证会话如果将error-if-maximum-exceeded Max-session error-if-maximum-exceeded设置为true则在用户尝试登录另一个会话时将标记错误。 例如如果您尝试从浏览器两次登录到该Spring Security应用程序那么您将收到一条错误消息指出“此主体超过最大会话数为1” 如下所示 相依性 此代码依赖于spring-security框架。 您需要下载spring安全罐例如spring-security-web-3.1.0.ja r并将其添加到应用程序classpath中 。 这个简单的Spring Security示例展示了Spring Security的强大功能一小段xml代码段可以在Java Web应用程序中添加非常有用且方便的安全功能 。 我强烈建议对使用Servlet JSP创建的新Java Web应用程序或现有Java Web应用程序使用spring security。 这就是如何在Java Web应用程序中使用Spring Security限制用户会话数的全部内容。 让我知道您在项目中实施此安全功能时是否遇到任何问题。 翻译自: https://www.javacodegeeks.com/2018/04/spring-security-concurrent-session-control-example-tutorial-how-to-limit-number-of-user-session-in-java-jee-web-application.html