如何使用 Spring Security 限制并发活动用户会话的数量

主要观点:在开发 Java JEE 网络应用(特别是安全的网络应用)时,常需实现如在线银行门户那样的每个用户只有一个会话或无并发会话的要求,Spring Security 可无需编写代码就能限制并发用户会话数,只需在 XML 文件中添加配置或在 Java 中添加等效配置,还能提供诸如认证、授权、会话管理等诸多开箱即用的功能,且通过简单的 XML 片段就能实现限制会话数的功能,代码依赖 Spring Security 框架,需添加相关 JAR 包,文末给出了相关 Spring Security 教程和资源。

关键信息:

  • 可在 Spring Security 配置文件中添加<session-management><concurrency-control/></session-management>来限制并发会话数。
  • 可指定每个用户允许的并发会话数,如在线银行门户通常为 1 个。
  • 可指定用户提交无效会话标识符时被转到的 URL 以检测会话超时。
  • 代码依赖 spring-security-web-3.1.0.jar 等 Spring Security JAR 包。

重要细节:

  • 若用户从浏览器尝试两次登录同一 Spring Security 应用,会收到“Maximum Sessions of 1 for this principal exceeded”错误。
  • 文中提供了多个相关的 Spring Security 教程和资源链接,如[Spring Framework 5: Beginner to Guru]等。
阅读 3
0 条评论