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

Oli*_*erS 1 grails spring-security spring-ldap

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

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

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

小智 7

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

无论如何,SecurityContextHolder.getContext().getAuthentication().getCredentials()如果使用表单身份验证,将获得明文密码.