私は、Spring SecurityをLDAPサーバに対して認証するように設定しました。Spring LdapAuthenticationとローカルデータベースからロールをロード
<security:authentication-manager >
<security:ldap-authentication-provider user-dn-pattern="uid={0}" />
</security:authentication-manager>
認証後、同じユーザーのローカルデータベースからロールを読み込みたいとします。 "ldap-authentication-provider"を使用してローカルデータベースの役割をロードするにはどうすればよいですか?
私は以下のように第二の認証プロバイダを追加する場合:
<security:authentication-manager >
<security:ldap-authentication-provider user-dn-pattern="uid={0}" />
<security:authentication-provider ref="daoAuthenticationProvider" />
</security:authentication-manager>
daoAuthenticationProvider
が追加しましたが、最初の認証プロバイダーがユーザーを認証する際の春は、第二プロバイダを使用していません。最初の認証プロバイダが認証に失敗した場合にのみ、それはリストの次のものになります。私たちは、ローカルデータベースからのロールをロードするために
<security:ldap-authentication-provider user-dn-pattern="uid={0}" />
をカスタマイズするために持っているよう
だから、基本的に見えます。
提案がありますか?これはどのように実装されるべきですか?
これは絶対に私が探していたものです。 – user2072797
ユーザーにuserIdを追加する方法はありますか? UserオブジェクトのempIdをldapからuserId属性にマップします。 – user2072797
この質問は元の質問とは無関係のようです。あなたがそれを再フォーマットして新しい質問として投稿すれば、現時点では(実際に)私はそれを見ることができますが、他のユーザーはあなたにより良い回答を与えることができるので、おそらく良いでしょう。とにかく、ldapからDBへのユーザー属性のマッピングは絶対に可能ですが、Spring Securityで行うことはできません。 – zagyi