Grails 2.1.0,Spring Security Core - SpringSecurityUtils没有这样的属性

时间:2013-01-11 04:58:37

标签: grails spring-security multi-tenant

我有一个带有Spring Security Core和Multi-tenant单个db插件的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    线|方法 - >> 17 | BootStrap $ _closure1

中的doCall

| 301 | grails.util.Environment中的evaluateEnvironmentSpecificBlock | 294 | executeForEnvironment。 。 。 。 。在'' | 270 | ''中的executeForCurrentEnvironment | 303 | innerRun。 。 。 。 。 。 。 。 。 。 。 。在java.util.concurrent.FutureTask $ Sync中 | 138 |在java.util.concurrent.FutureTask中运行 | 886 | runTask。 。 。 。 。 。 。 。 。 。 。 。在java.util.concurrent.ThreadPoolExecutor $ Worker中 | 908 |跑进 '' ^ 662 |跑 。 。 。 。 。 。 。 。 。 。 。 。 。 。在java.lang.Thread

Spring安全性正常。

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:3)

你错过了导入 - 添加

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

看起来你也需要这个:

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

答案 1 :(得分:0)

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

import grails.plugin.springsecurity.SpringSecurityUtils
import grails.plugin.springsecurity.SecurityFilterPosition