出于某种原因,我的 LDAP 搜索似乎没有返回给定 DN 的所有可用属性。
使用以下代码:
DirContext ctx = new InitialDirContext(mEnv);
DirContext obj = (DirContext)ctx.lookup(dn);
Attributes attrs = obj.getAttributes(new CompositeName(""));
(其中 mEnv 是有效的 Properties 类,dn 是有效的 DN)
我只返回 7 个属性(“cn”、“orclpassword”、“objectclass”、“mail”、“authpassword;orclcommonpwd”、“userpassword”、“sn”),而我可以在 Oracle Directory 中看到Manager 还有很多(包括“orclIsEnabled”和“pwdaccountlockedtime”)
有谁能够阐明“缺失”的属性吗?
(注意:我对 LDAP 的经验非常有限)
谢谢:-)
最佳答案
LDAP 搜索不会返回您已知的属性有两种基本可能性:
您无权查看它们(检查访问控制信息,或绑定(bind)为 更高权限的用户)
它们被定义为“操作”(内部)属性,这些属性不会由 默认值,但如果您通过名称询问它们(通过使用版本 getAttributes() 接受属性名称数组)。
关于java - Oracle LDAP 搜索中似乎未返回某些属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2288683/