2

我有 LDAP 条目的DN。我知道我可以搜索它:做这样的事情:

my $search = $ldap->search( 
    base => $dn, 
    scope => "base",
    filter => "(objectclass=*)",
);

但是,我不需要进行搜索。我有 DN。我只是想拉起 DN 条目并直接对其进行操作。像这样的东西:

my $dn_entry = $ldap->get( $dn );

有没有一种方法可以从 DN 字符串本身获取 DN 条目,或者即使您知道 DN 本身也必须搜索该条目?

4

2 回答 2

2

使用 LDAP,客户端必须始终搜索或使用扩展操作来获取数据。如果您对与条目关联的所有属性感兴趣,并且 DN 已知,请在搜索请求中使用以下参数:

  • baseObject:已知的DN
  • 搜索范围:基地
  • 过滤器:要么(&)(objectClass=*)
  • 要返回的属性列表。一些 API*用于所有用户属性和+所有操作属性。
于 2013-10-01T10:39:23.920 回答
0

听起来您所说的是您存储了“专有名称”(一个字符串)而不是 DN 条目(一个Net::LDAP::Entry对象)。如果是这种情况,我相信您必须Net::LDAP::Entry从 DN 创建一个新对象。文档表明您可以直接将操作应用于此类对象,而无需与服务器同步,但这不会提供给定 DN 的所有数据。如果你需要服务器的数据,你需要通过$ldap->search(...).

您是否考虑过使用本地存储 DN 数据的Net::LDAP::LDIF 机制?

于 2013-09-30T16:45:55.187 回答