我希望有人可以帮助我理解如何处理调用DirContext.lookup返回的对象。
以下代码段工作并返回一个对象。我只是无法弄清楚如何从对象中获取属性。
javax.naming.directory.DirContext ctx =
javax.naming.directory.getContext(false);
Object o = ctx.lookup(rdn);
非常感谢任何帮助。
答案 0 :(得分:2)
属性attrs = ctx.getAttributes(dn); 假设请求arrtibute值的条目具有适当的权限,将检索用户属性。
但是,最佳做法是仅查询所需的属性。
如果您希望查看所有属性,则应查询objectclass属性值,然后查询模式以获取所有已分配的属性,并确定需要检索的属性。
-Jim
答案 1 :(得分:0)
你应该知道你期望从lookup()
收到什么对象,明确地投射到它,然后用它做你想做的任何事。
最后你应该有这样的东西:
InitialContext iCtx = new InitialContext();
// load the iCtx with environment variables if necessary
Object o = iCtx.lookup("objectNameOrString");
ExpectedObjectType eot = (ExpectedObjectType) o;
eot.doWhatever();
答案 2 :(得分:0)
在LDAP目录中,您可以执行以下操作:
属性attrs = ctx.getAttributes(dn);
获取对象的属性