最近、3.0から3.1にアップグレードしましたが、小文字の比較はできなくなりました。
認証にLDAPサーバーを使用する場合、何が起こり、大文字と小文字を区別するために何ができますか?
最近、3.0から3.1にアップグレードしましたが、小文字の比較はできなくなりました。
認証にLDAPサーバーを使用する場合、何が起こり、大文字と小文字を区別するために何ができますか?
ログインプロセスで大文字と小文字を区別する方法を1つ見つけました。
検索フィルターにcaseExactMatchを追加しました。同じ問題を抱えている他の人を支援するために、以下のldap-authentication-providerの一部を貼り付けました。
<authentication-manager>
<ldap-authentication-provider server-ref="ldapServer"
user-search-base="ou=users,dc=mydomain,dc=com"
user-search-filter="(uid:caseExactMatch:={0})"
group-role-attribute="cn"
group-search-base="ou=Groups,dc=mydomain,dc=com"
group-search-filter="(uniqueMember={0})"
role-prefix="ROLE_"
user-details-class="inetOrgPerson"
/>
</authentication-manager>
Lukeが示唆しているように、これは小文字のcomparisons = "true"(3.0)の代わりとなるようです-request-matcher = "ciRegex"(3.1以降)。どのスプリングがない場合は、大文字と小文字の区別と比較されます。