AuthenticationProvider UsernamePasswordAuthenticationToken返回Ljava.lang.String

时间:2015-01-19 08:12:36

标签: grails spring-security grails-plugin

在我们的grails 2.4.4项目中,我们想要使用我们在BuildConfig.groovy中声明的Spring Security Core Plugin:

compile':spring-security-core:2.0-RC4'

对于针对REST服务的身份验证,我们实现了自定义AuthenticationProvider:

class CustomAuthenticationProvider implements AuthenticationProvider {
def springSecurityService

Authentication authenticate(Authentication authentication) {
    UsernamePasswordAuthenticationToken auth = (UsernamePasswordAuthenticationToken) authentication;
    String username = auth.getPrincipal()
    String password = auth.getCredentials()

    println "username:" + username
    println "password:" + password

在登录表单中输入用户名和密码时会调用CustomAuthenticationProvider.authenticate。

不幸的是,当通过auth.getPrincipal()或auth.getCredentials()访问表单值时,返回的值总是一个包含类似 [Ljava.lang.String; @ 6ecd6d25 < / p>

调试应用程序时,似乎没有正确填写UsernamePasswordAuthenticationToken的值。

有谁知道这里出了什么问题?

0 个答案:

没有答案