2

我有一个带有 Spring Security Core 和多租户单数据库插件的 grails 2.1.0 应用程序工作正常。此应用程序的要求之一是将并发登录限制为一个。为此,我尝试在 Bootstrap 中使用 SpringSecurityUtils 来注册过滤器。

 SpringSecurityUtils.clientRegisterFilter('concurrencyFilter', SecurityFilterPosition.CONCURRENT_SESSION_FILTER)

SpringSecurityUtils 是静态的,正如文档所说,不需要注入,但在执行时,它会出错

ERROR context.GrailsContextLoader  - Error executing bootstraps: No such property: SpringSecurityUtils for class: BootStrap

消息:没有这样的属性:类的 SpringSecurityUtils:BootStrap Line | 方法->> 17 | BootStrap$_closure1 中的 doCall


| 301 | grails.util.Environment 中的 evaluateEnvironmentSpecificBlock | 294 | 执行环境。. . . . 在''| 270 | ''中的executeForCurrentEnvironment | 303 | 内部运行。. . . . . . . . . . . 在 java.util.concurrent.FutureTask$Sync | 138 | 在 java.util.concurrent.FutureTask 中运行 | 第886章 运行任务。. . . . . . . . . . . 在 java.util.concurrent.ThreadPoolExecutor$Worker | 908 | 运行'' ^ 662 | 跑 。. . . . . . . . . . . . . 在 java.lang.Thread

Spring 安全性在其他方面工作正常。

任何帮助深表感谢。

4

2 回答 2

3

您缺少导入 - 添加

import org.codehaus.groovy.grails.plugins.springsecurity.SpringSecurityUtils

看起来你也需要这个:

import org.codehaus.groovy.grails.plugins.springsecurity.SecurityFilterPosition
于 2013-01-11T05:18:23.697 回答
1

@Burt Beckwith 答案是正确的截至 2016 年 11 月 25 日,要添加的进口是

import grails.plugin.springsecurity.SpringSecurityUtils
import grails.plugin.springsecurity.SecurityFilterPosition
于 2016-11-25T07:48:58.247 回答