У меня настроено несколько контроллеров домена и вы хотите изменить пользовательские атрибуты пользователей во всех доменах.Spring LdapContextSource разные контроллеры домена
Моя конфигурация выглядит следующим образом:
<bean id="writeLdapContextSource"
class="org.springframework.ldap.core.support.LdapContextSource">
<property name="url" value="ldap://123.12.123.3:389" />
<property name="base" value="" />
<property name="userDn" value="domainx\userabc" />
<property name="password" value="secret124" />
<property name="pooled" value="false"/>
<property name="referral" value="follow"/>
</bean>
Я могу успешно изменить пользователей в локальном домене. Нет проблем.
Но если я попытаюсь изменить пользователей в другом домене, я получаю сообщение об ошибке.
Примечание: Пользователь ldap-пользователя "domainx \ userabc" имеет правильное разрешение на внесение изменений во всех доменах.
Примеры:
1.) Модификация атрибута пользователем в другом домене
вызвано следующими причинами: javax.naming.OperationNotSupportedException: [LDAP: код ошибки 53 - 00000057: LdapErr: DSID- 0C04214C, комментарий: ошибка в операции преобразования атрибутов, данных 0, v1db1
2.) Изменена конфигурация будет использовать порт 3268 вместо 389
Вызванный: javax.naming.OperationNotSupportedException: [LDAP: код ошибки 53 - 00002035: LdapErr: DSID-0C090B45, комментарий: Операция не допускается через GC порт, данные 0, v1db1
Примечание: I'am способный изменять атрибуты пользователя в локальном домене. Поэтому мой код для изменения правильный.
Отрывок:
DirContextOperations context = writeLdapTemplate.lookupContext(ldapUser.getDistinguishedName());
context.addAttributeValue(attributeName, attributeValue);
writeLdapTemplate.modifyAttributes(context);
Это отлично работает для локальных пользователей домена.
У кого-нибудь есть идея, что делать, чтобы иметь возможность изменять пользователей в других доменах?
Я также проверил пользователя с LDAP Browser, и он может видеть все домены ...