如何从spring-security获取明文密码?

时间:2011-02-23 07:59:16

标签: grails spring-security spring-ldap

我使用Grails + spring-security + LDAP来验证用户身份。验证现在可以正常工作,但我需要使用纯文本密码来验证第二个服务。

我尝试了SpringSecurityService属性,但没有包含密码。

我是否必须实现自己的UserDetailsMapper,或者LdapUserDetailsMapper是否也提供从Web表单中检索的纯文本密码的映射?

1 个答案:

答案 0 :(得分:7)

您可以从org.springframework.security.core.context.SecurityContextHolder获取凭据。但是,我真的不认为使用它是个好主意。您将无法使用'remember-me'或'run-as'或'switch-user'功能,因为凭据不包含当前用户的密码(它们可能为空)。此外,如果使用除基本HTML身份验证或表单身份验证之外的任何其他内容,我认为您不会获得明文密码。

无论如何,如果使用表单身份验证,SecurityContextHolder.getContext().getAuthentication().getCredentials()将为您提供明文密码。