我最近从 3.0 升级到 3.1,小写比较不再可用。
它发生了什么?在使用 ldap 服务器进行身份验证时,我可以做些什么来确保区分大小写?
我找到了一种确保在登录过程中使用区分大小写的方法。
我将 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>
正如卢克所建议的那样,这似乎是替代 - request-matcher="ciRegex"(在 3.1+ 中)到小写比较 =“true”(3.0)。没有哪个弹簧与区分大小写进行比较。