私は自分のプロジェクトに春のセキュリティを実装することに取り組んでいます。Spring Security が証明書 CN から抽出したユーザー名をuid
LDAP サーバー上で使用する必要があります。この問題にアプローチする適切な方法がわかりません。x509 から LDAP オーセンティケーターに CN 値を渡す方法がわかりません。以前にこれをやった人はいますか、何かアイデアはありますか?
注: 証明書全体を LDAP サーバーに渡す必要はありません。証明書は LDAP サーバーに格納されていないためです。CN からのユーザー名だけです。
編集: これは、私の春のセキュリティ xml ファイルの構成の一部です。
<http>
<intercept-url pattern="/**" access="IS_AUTHENTICATED_ANONYMOUSLY" />
<anonymous />
<x509 subject-principal-regex="CN=(.*?)," /> <!-- user-service-ref needed? -->
</http>
<ldap-server id="ldapServer" url="ldap://localhost:389/dc=example,dc=com" manager-dn="cn=manager,dc=example,dc=com" manager-password="myPassword" />
<authentication-manager>
<ldap-authentication-provider
user-dn-pattern="uid={0},ou=people"
user-search-filter="(uid={0})"
user-search-base="ou=people,dc=example,dc=com"
group-search-filter="(member={0})"
group-search-base="ou=groups"
group-role-attribute="cn" />
</authentication-manager>