Grails spring安全userDetailService导入服务

Grails spring安全userDetailService导入服务,grails,grails-plugin,Grails,Grails Plugin,您好,是否仍要将服务导入customUserDetailService?我犯了错误 org.springframework.security.authentication.InternalAuthenticationServiceException:无法对null对象调用方法validatePin() 您可能正在参考资料.groovy中注册自定义用户详细信息服务。在bean定义中,启用自动连接并添加对您尝试注入的服务的引用 userDetailsService(CustomUserDetails

您好,是否仍要将服务导入customUserDetailService?我犯了错误

org.springframework.security.authentication.InternalAuthenticationServiceException:无法对null对象调用方法validatePin()


您可能正在
参考资料.groovy
中注册自定义用户详细信息服务。在bean定义中,启用自动连接并添加对您尝试注入的服务的引用

userDetailsService(CustomUserDetailsService) {
    it.autowire = true
    apiService = ref('apiService')
}

谢谢想解释一下autowire是如何工作的吗?因为我缺少这个autowire,所以如果你使用
it.autowire='byName'
而不是
it.autowire=true
那么你就可以消除
apiService=ref('apiService'))
。如果在
grails app/services/…
下定义
CustomUserDetailsService
,则可以从
resources.groovy中删除bean定义。groovy
。@JeffScottBrown在这种情况下,bean覆盖了Spring安全插件的bean,因此需要显式定义,否则是的。@doelleri对我来说有道理。
userDetailsService(CustomUserDetailsService) {
    it.autowire = true
    apiService = ref('apiService')
}