Spring会话并发教程

时间:2013-03-21 03:17:51

标签: java session spring-mvc

我在SpringSource Tool Suite中启动了Spring应用程序,我想在我的Web应用程序中添加会话管理功能,即我想阻止用户使用同一帐户登录。

我在网上搜索了教程和指南,但是在Spring中我没有找到一个直观的知识。有人能指出我的“初学者教程”文章。

1 个答案:

答案 0 :(得分:2)

Spring Security按照here所述提供了此功能。

要使用的典型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 namesspace前加上前缀,并将安全性保留为默认值。无论哪种方式都应该起到同样的作用。