2

Grails + spring-security + LDAP を使用してユーザーを認証します。認証は機能するようになりましたが、2 番目のサービスを認証するにはプレーン テキストのパスワードが必要です。

SpringSecurityService プロパティを試しましたが、パスワードが含まれていません。

独自の UserDetailsMapper を実装する必要がありますか? それとも、LdapUserDetailsMapper は Web フォームから取得したプレーン テキスト パスワードのマッピングも提供しますか?

4

1 に答える 1

7

からクレデンシャルを取得できますorg.springframework.security.core.context.SecurityContextHolder。ただし、これを使用するのは良い考えではないと思います。資格情報に現在のユーザーのパスワードが含まれていない (おそらく null になる) ため、'remember-me' 機能、'run-as' または 'switch-user' 機能を使用することはできません。また、基本的な HTML 認証またはフォーム認証以外を使用している場合、平文のパスワードを取得することはないと思います。

とにかく、SecurityContextHolder.getContext().getAuthentication().getCredentials()フォーム認証を使用している場合は平文のパスワードを取得します。

于 2011-02-23T08:22:20.487 に答える