2

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

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

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

4

1 回答 1

7

您可以从org.springframework.security.core.context.SecurityContextHolder. 但是,我真的不认为使用它是一个好主意。您将无法使用“记住我”或“运行身份”或“切换用户”功能,因为凭据不包含当前用户的密码(它们可能为空)。此外,如果使用基本 HTML 身份验证或表单身份验证以外的任何其他方法,我认为您不会获得明文密码。

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

于 2011-02-23T08:22:20.487 回答