Как я могу получить незашифрованный пароль от Spring-Security? - PullRequest
1 голос
/ 23 февраля 2011

Я использую Grails + spring-security + LDAP для аутентификации пользователей. Аутентификация работает сейчас, но мне нужен простой текстовый пароль для аутентификации второго сервиса.

Я пробовал свойства SpringSecurityService, но ни один из них не содержит пароля.

Должен ли я реализовать свой собственный UserDetailsMapper или LdapUserDetailsMapper также обеспечивает сопоставление пароля в виде простого текста, полученного из веб-формы?

1 Ответ

7 голосов
/ 23 февраля 2011

Вы можете получить учетные данные от org.springframework.security.core.context.SecurityContextHolder. Тем не менее, я действительно не думаю, что это хорошая идея, чтобы использовать это. Вы не сможете использовать ни функцию «помни меня», ни «запустить как» или «переключить пользователя», поскольку учетные данные не будут содержать пароль текущего пользователя (вероятно, они будут нулевыми). Кроме того, я не думаю, что вы получите пароль в виде открытого текста, если будете использовать что-либо, кроме простой аутентификации HTML или аутентификации на основе форм.

В любом случае, SecurityContextHolder.getContext().getAuthentication().getCredentials() получит пароль в виде открытого текста при использовании аутентификации на основе формы.

...