我已经在 SpringSource Tool Suite 中启动了一个 Spring 应用程序,我想在我的 Web 应用程序中添加一个会话管理功能,即我想阻止用户使用相同的帐户登录。
我在网上搜索了教程和指南,但未能找到我在 Spring 中所了解的直观的。有人可以指出我的“初学者教程”文章。
我已经在 SpringSource Tool Suite 中启动了一个 Spring 应用程序,我想在我的 Web 应用程序中添加一个会话管理功能,即我想阻止用户使用相同的帐户登录。
我在网上搜索了教程和指南,但未能找到我在 Spring 中所了解的直观的。有人可以指出我的“初学者教程”文章。
Spring Security 提供了这里描述的功能。
要使用的典型 Maven 依赖项是:
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-web</artifactId>
<version>3.1.3</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-taglibs</artifactId>
<version>3.1.3</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-config</artifactId>
<version>3.1.3</version>
</dependency>
在 XML 配置中,声明通常类似于:
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:sec="http://www.springframework.org/schema/security"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-3.1.xsd">
然后您可以在安全元素前面加上sec:
诸如
<sec:custom-filter position="CONCURRENT_SESSION_FILTER" ref="concurrencyFilter" />
或者,如果您不使用我链接到的 Spring Security 文档中的示例,它会为 bean 命名空间添加前缀并将安全性保留为默认值。无论哪种方式都应该达到相同的目的。