如何访问此LDAP对象的属性?

时间:2009-04-02 11:57:44

标签: java ldap

我希望有人可以帮助我理解如何处理调用DirContext.lookup返回的对象。

以下代码段工作并返回一个对象。我只是无法弄清楚如何从对象中获取属性。

javax.naming.directory.DirContext ctx =
    javax.naming.directory.getContext(false);
Object o = ctx.lookup(rdn); 

非常感谢任何帮助。

3 个答案:

答案 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);

获取对象的属性