使用名称' statelessInvalidateTokenFilter创建bean时出错

时间:2017-02-24 07:35:38

标签: grails spring-security

我正在尝试使用Grails Spring Security无状态插件,但我遇到了异常。我做的与文档完全相同,但我无法启动应用程序。

Grails版本2.4.4 jdk1.7.0_79

Configuring Spring Security Stateless ...
... finished configuring Spring Security Stateless
| Error 2017-02-24 12:24:36,402 [localhost-startStop-1] ERROR context.GrailsContextLoaderListener  - Error initializing the application: Error creating bean with name 'statelessInvalidateTokenFilter': Initialization of bean failed; nested exception is org.springframework.beans.ConversionNotSupportedException: Failed to convert property value of type 'groovy.util.ConfigObject' to required type 'java.lang.String' for property 'endpointUrl'; nested exception is java.lang.IllegalStateException: Cannot convert value of type [groovy.util.ConfigObject] to required type [java.lang.String] for property 'endpointUrl': no matching editors or conversion strategy found
Message: Error creating bean with name 'statelessInvalidateTokenFilter': Initialization of bean failed; nested exception is org.springframework.beans.ConversionNotSupportedException: Failed to convert property value of type 'groovy.util.ConfigObject' to required type 'java.lang.String' for property 'endpointUrl'; nested exception is java.lang.IllegalStateException: Cannot convert value of type [groovy.util.ConfigObject] to required type [java.lang.String] for property 'endpointUrl': no matching editors or conversion strategy found
    Line | Method
->>  262 | run       in java.util.concurrent.FutureTask
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
|   1145 | runWorker in java.util.concurrent.ThreadPoolExecutor
|    615 | run . . . in java.util.concurrent.ThreadPoolExecutor$Worker
^    745 | run       in java.lang.Thread
Caused by ConversionNotSupportedException: Failed to convert property value of type 'groovy.util.ConfigObject' to required type 'java.lang.String' for property 'endpointUrl'; nested exception is java.lang.IllegalStateException: Cannot convert value of type [groovy.util.ConfigObject] to required type [java.lang.String] for property 'endpointUrl': no matching editors or conversion strategy found
->>  262 | run       in java.util.concurrent.FutureTask
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
|   1145 | runWorker in java.util.concurrent.ThreadPoolExecutor
|    615 | run . . . in java.util.concurrent.ThreadPoolExecutor$Worker
^    745 | run       in java.lang.Thread
Caused by IllegalStateException: Cannot convert value of type [groovy.util.ConfigObject] to required type [java.lang.String] for property 'endpointUrl': no matching editors or conversion strategy found
->>  262 | run       in java.util.concurrent.FutureTask
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
|   1145 | runWorker in java.util.concurrent.ThreadPoolExecutor
|    615 | run . . . in java.util.concurrent.ThreadPoolExecutor$Worker
^    745 | run       in java.lang.Thread
Error |
Forked Grails VM exited with error
|Server running. Browse to http://localhost:8080/security244

2 个答案:

答案 0 :(得分:1)

配置属性未正确命名。检查确切的名称,然后在application.groovy/.yml文件中定义它。问题是插件,因为插件没有定义任何默认值,所以如果application.groovy中没有定义属性,它会抛出此异常

答案 1 :(得分:0)

您可能缺少这些属性:

grails.plugin.security.stateless.springsecurity.invalidate.active=false
grails.plugin.security.stateless.springsecurity.invalidate.endpointUrl="/stateless/yourinvalidateurl"

将这些添加到Config.groovy并且它应该可以正常工作