[英]Some attributes don't appear to be returned on oracle ldap search
由于某种原因,我的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搜索不会返回您在那里知道的属性有两种基本可能性:
您无权查看它们(检查访问控制信息,或以特权更大的用户身份绑定)
它们被定义为“可操作”(内部)属性,默认情况下不会返回这些属性,但是如果您按名称(通过使用带有属性名称数组的getAttributes()版本)来请求它们,这些属性将存在。
遇到了这个:
“ oracle不会通过OID LDAP接口公开所需的属性。”
http://blog.mikesidoti.com/2007/05/how-to-query-oid-to-find-expired.html
根据文档, pwdaccountlockedtime绝对是可操作的属性。
查询基础数据库(如您的链接中所示)应该是最后的选择。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.