Все,
Наш ИТ-отдел решил изменить суффикс наших пользователей в AD, добавив другой суффикс к userPrincipalName в AD для фактического используемого домена.
например наш домен — xxx.com, но userPrincipalName теперь «[email protected]», тогда как раньше это было «[email protected]».
Аутентификация Spring LDAP AD больше не работает с этим по этой причине, я думаю: userPrincipalName создается с использованием имени + домена при попытке аутентификации.
Мне нужно как-то переопределить это, но сохранить версию безопасности Spring 3.1 (в идеале!)
Это компонент безопасности, который мы используем
<bean id="ldapActiveDirectoryAuthProvider" class="org.springframework.security.ldap.authentication.ad.ActiveDirectoryLdapAuthenticationProvider">
<constructor-arg value="$websec{authentication.base}" />
<constructor-arg value="$websec{ldap.providerUrl}" />
<property name="authoritiesMapper" ref="dataAutomationGrantedAuthoritiesMapper" />
<property name="useAuthenticationRequestCredentials" value="true" />
</bean>
Как я могу переопределить это поведение?
Спасибо
ActiveDirectoryLdapAuthenticationProvider
для сопоставления имени пользователя и userPrincipalName с суффиксом xxx.com, но теперь вам нужно пройти аутентификацию с использованием стандартногоLdapAuthenticationProvider
, чтобы вы могли сопоставить имя пользователя с sAMACcoutnName. См. docs.spring.io/spring-security /site/docs/3.1.x/reference/. Возможно, в качестве временного обходного пути в bean-компонентеldapActiveDirectoryAuthProvider
вы можете попробовать заменить первый аргумент новым жестко заданным доменом<constructor-arg value="zzz.tech" />
. - person EricLavault   schedule 04.10.2019