-1

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

我在网上搜索了教程和指南,但未能找到我在 Spring 中所了解的直观的。有人可以指出我的“初学者教程”文章。

4

1 回答 1

2

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 命名空间添加前缀并将安全性保留为默认值。无论哪种方式都应该达到相同的目的。

于 2013-03-21T03:29:36.063 回答