2013-08-28 127 views
0

在使用Spring Security我的Grails应用程序,我想的conf /春/ resource.groovy初始化以下的Spring bean:Spring Security未在Spring Security中找到?

beans = { 

    if (grailsApplication.config.grails.plugins.springsecurity.rememberMe.persistent) { 
     rememberMeServices(MyPersistentTokenBasedRememberMeService) { 
      userDetailsService = ref('userDetailsService') 
      key = grailsApplication.config.grails.plugins.springsecurity.rememberMe.key 
      cookieName = grailsApplication.config.grails.plugins.springsecurity.rememberMe.cookieName 
      alwaysRemember = grailsApplication.config.grails.plugins.springsecurity.rememberMe.alwaysRemember 
      tokenValiditySeconds = grailsApplication.config.grails.plugins.springsecurity.rememberMe.tokenValiditySeconds 
      parameter = grailsApplication.config.grails.plugins.springsecurity.rememberMe.parameter 
      useSecureCookie = grailsApplication.config.grails.plugins.springsecurity.rememberMe.useSecureCookie // false 

      tokenRepository = ref('tokenRepository') 
      seriesLength = grailsApplication.config.grails.plugins.springsecurity.rememberMe.persistentToken.seriesLength // 16 
      tokenLength = grailsApplication.config.grails.plugins.springsecurity.rememberMe.persistentToken.tokenLength // 16 
     } 
    } 

} 

我发现这个代码here在页面的底部。

我得到以下错误:

ERROR context.GrailsContextLoader - Error initializing the application: Error creating bean with name 'authenticationProcessingFilter': Cannot resolve reference to bean 'rememberMeServices' while setting bean property 'rememberMeServices'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'rememberMeServices': Initialization of bean failed; nested exception is org.springframework.beans.TypeMismatchException: Failed to convert property value of type 'groovy.util.ConfigObject' to required type 'int' for property 'tokenLength'; nested exception is java.lang.IllegalArgumentException: Cannot convert value of type [groovy.util.ConfigObject] to required type [int] for property 'tokenLength': PropertyEditor [org.springframework.beans.propertyeditors.CustomNumberEditor] returned inappropriate value of type [groovy.util.ConfigObject] 
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'authenticationProcessingFilter': Cannot resolve reference to bean 'rememberMeServices' while setting bean property 'rememberMeServices'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'rememberMeServices': Initialization of bean failed; nested exception is org.springframework.beans.TypeMismatchException: Failed to convert property value of type 'groovy.util.ConfigObject' to required type 'int' for property 'tokenLength'; nested exception is java.lang.IllegalArgumentException: Cannot convert value of type [groovy.util.ConfigObject] to required type [int] for property 'tokenLength': PropertyEditor [org.springframework.beans.propertyeditors.CustomNumberEditor] returned inappropriate value of type [groovy.util.ConfigObject] 
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) 
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:166) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
    at java.lang.Thread.run(Thread.java:724) 

我有什么,以获得正确初始化bean的改变?

回答

1

Cannot convert value of type [groovy.util.ConfigObject] to required type [int] for property 'tokenLength'

这个建议,我认为你没有grails.plugins.springsecurity.rememberMe.persistentToken.tokenLength属性集在grailsApplication.config - 当你问一个不存在的键ConfigObject它返回给你的是一个新的空ConfigObject