我正在尝试使用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
答案 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并且它应该可以正常工作