grails弹簧安全定制userDetailsService
我有一个问题,我的userDetailsService注入我的自定义提供程序。我有一个自定义的userDetailsService,我试图注入到我的提供者,但是,由于某种原因从我的提供者这解决了一个空的userDetailsService。 以下是从我的resources.groovy:grails弹簧安全定制userDetailsService
beans = { userDetailsService(CustomUserDetailsService) {
}
stupidAuthenticationProvider(StupidAuthenticationProvider) {
userDetailsService = ref("userDetailsService")
}
}
基本上我只是将其定义在我的供应商如下:
public class StupidAuthenticationProvider implements AuthenticationProvider { def userDetailsService
我缺少什么?
回答:
尝试使用类的限定名称:
beans = { userDetailsService(com.test.CustomUserDetailsService){
}
StupidAuthenticationProvider(com.test.XXX.StupidAuthenticationProvider) {
userDetailsService = ref('userDetailsService ')
}
}
回答:
在包你CustomUserDetailsService?如果是,那么你应该在配置中给它完全限定的名称。
以下是为我工作:// github上:
beans = { userDetailsService(com.mysite.MyUserDetailsService)
//and then refer it like...
emailAuthenticationProvider(com.mysite.EmailAuthenticationProvider) {
springSecurityService = ref('springSecurityService')
userDetailsService = ref('userDetailsService')
}
}
,并在身份验证提供者...
class EmailAuthenticationProvider implements AuthenticationProvider { def userDetailsService
def springSecurityService
@Override
public Authentication authenticate(Authentication authentication) throws AuthenticationException {
//...
}
}
以上是 grails弹簧安全定制userDetailsService 的全部内容, 来源链接: utcz.com/qa/261566.html