Spring LDAP 常见问题解答
作属性
如何使用context.removeAttributeValue()
?
默认情况下,DirContextAdapter
仅读取 visible 属性。这是因为只有在明确请求时,服务器才会返回作属性,并且 Spring LDAP 无法知道要请求的属性。这意味着DirContextAdapter
未填充作属性。因此,removeAttributeValue
没有任何效果(因为,从DirContextAdapter
,它本来就不存在)。
基本上有两种方法可以做到这一点:
-
使用将属性名称作为参数的搜索或查找方法,例如
LdapTemplate#lookup(Name, String[], ContextMapper)
.然后使用ContextMapper
implementation 返回提供的DirContextAdapter
在mapFromContext()
. -
用
LdapTemplate#modifyAttributes(Name, ModificationItem[])
直接,手动构建ModificationItem
数组。