我有LDAP条目的 DN 。我知道我可以搜索:做这样的事情:
my $search = $ldap->search(
base => $dn,
scope => "base",
filter => "(objectclass=*)",
);
但是,我不需要进行搜索。我有DN。我只想提取DN条目并直接对其进行操作。像这样:
my $dn_entry = $ldap->get( $dn );
是否有方法从DN字符串本身获取DN条目,或者即使您知道DN本身,也必须搜索条目?
答案 0 :(得分:2)
使用LDAP,客户端必须始终搜索或使用扩展操作来获取数据。如果您对与条目关联的所有属性感兴趣并且已知DN,请在搜索请求中使用以下参数:
(&)
或(objectClass=*)
*
,对所有操作属性使用+
。答案 1 :(得分:0)
您所说的是您存储了“专有名称”(字符串)而不是DN条目(Net::LDAP::Entry
对象)。如果是这种情况,我相信你必须从DN创建一个新的Net::LDAP::Entry
对象。该文档表明您可以直接将操作应用于此类对象而不与服务器同步,但这不会提供给定DN的所有数据。如果您需要服务器的数据,则需要通过$ldap->search(...)
。
您是否考虑过使用Net::LDAP::LDIF
mechanism在本地存储DN数据?