Spring LDAP和MemberOf

时间:2015-10-22 09:27:47

标签: java spring ldap spring-ldap

我实际上构建了一个使用Spring(http://projects.spring.io/spring-ldap/

处理LDAP的应用程序

尝试修改memberOf属性时遇到了一些麻烦。

事实上,当我在不修改memberOf属性的情况下修改我的用户时,修改很好。

当我尝试使用带有:

的List(String)修改我的memberOf属性时
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

从现在开始:

  • 我拥有LDAP的root权限
  • 我可以修改其他属性但不能修改此属性
  • 我以良好的格式发送值(带有良好条目的List(String))

2 个答案:

答案 0 :(得分:2)

memberOf属性对您来说是只读的。根据您的架构,将roleOccupantuniqueMember添加到组时会自动维护它。那样做。

答案 1 :(得分:0)

由于您没有提供任何代码,因此很难确定您的案例中的确切问题,但是在处理代表可分辨名称的属性(例如memberOf属性)时,常见的问题是您需要特别小心更新,以避免重复。

简而言之,您需要通过使用Name实例而不是纯字符串来告诉Spring LDAP此特定属性表示可分辨名称。

问题(和解决方案)在参考文档here(针对非ODM解决方案)和here(针对ODM)中进行了描述。