grails弹簧安全定制userDetailsS​​ervice

我有一个问题,我的userDetailsS​​ervice注入我的自定义提供程序。我有一个自定义的userDetailsS​​ervice,我试图注入到我的提供者,但是,由于某种原因从我的提供者这解决了一个空的userDetailsS​​ervice。 以下是从我的resources.groovy:grails弹簧安全定制userDetailsS​​ervice

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 ')

}

}

回答:

在包你CustomUserDetailsS​​ervice?如果是,那么你应该在配置中给它完全限定的名称。

以下是为我工作:// 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弹簧安全定制userDetailsS​​ervice 的全部内容, 来源链接: utcz.com/qa/261566.html

回到顶部