2015-10-22 6 views
0

я м на самом деле строит приложение, которое имеет дело с LDAP с использованием Spring (http://projects.spring.io/spring-ldap/)Spring LDAP и MemberOf

Я м возникли некоторые проблемы при попытке изменить свойство memberOf.

Фактически, когда я изменяю свой пользователь без изменения свойства memberOf, модификация хорошо берется в порядке.

Когда я пытаюсь изменить свою собственность memberOf с помощью списка (String) с:

CN=Administrateurs,CN=Builtin,DC=<dc>,DC=<dc> 
CN=Utilisateurs,CN=Builtin,DC=<dc>,DC=<dc> 

, я получил что-то вроде этой ошибки:

javax.naming.OperationNotSupportedException : Error while updating user XXX YYY - matricule AAAAAAA: [LDAP: error code 53 - 0000209A: SvcErr: DSID-031A10E7, problem 5003 (WILL_NOT_PERFORM), data 0 

С этого момента:

  • У меня есть права root на LDAP
  • Я могу изменить другие приложения rties, но это не один
  • Я посылаю значение в хорошем формате (List (String) с хорошей записи)

ответ

2

Объект memberOf доступен только для чтения. Он поддерживается автоматически при добавлении в группу roleOccupant или uniqueMember в зависимости от вашей схемы. Так и сделайте это.

+0

Только в этом направлении (группа => пользователь)? Нет способа заставить его работать от пользователя к группе? – mfrachet

+0

Вот что я сказал. – EJP

+0

Действительно ли это только для чтения? Потому что я прочитал, что это оперативный атрибут, который требует больше усилий для его чтения. – zygimantus

0

Поскольку вы не предоставляет какой-либо код, трудно точно определить проблему в вашем случае, однако общая проблема при работе с атрибутами, представляющими отличительные имена (например, атрибут memberOf), заключается в том, что при обновлении вам необходимо проявлять особую осторожность, чтобы избежать дублирования.

Вкратце, вам нужно сообщить Spring LDAP, что данный конкретный атрибут представляет отличительные имена, работая с экземплярами Name, а не с обычными строками.

Проблема (и решение) описана в справочной документации here (для не-ODM-решений) и here (для ODM).

Смежные вопросы