Perl Net::LDAP-在不进行搜索的情况下获取DN?
我有LDAP条目的DN。我知道我可以搜索它:像这样做:Perl Net::LDAP-在不进行搜索的情况下获取DN?,perl,ldap,Perl,Ldap,我有LDAP条目的DN。我知道我可以搜索它:像这样做: my $search = $ldap->search( base => $dn, scope => "base", filter => "(objectclass=*)", ); my $dn_entry = $ldap->get( $dn ); 但是,我不需要做搜索。我有DN。我只想调出DN条目并直接对其执行操作。大概是这样的: my $search = $ldap->s
my $search = $ldap->search(
base => $dn,
scope => "base",
filter => "(objectclass=*)",
);
my $dn_entry = $ldap->get( $dn );
但是,我不需要做搜索。我有DN。我只想调出DN条目并直接对其执行操作。大概是这样的:
my $search = $ldap->search(
base => $dn,
scope => "base",
filter => "(objectclass=*)",
);
my $dn_entry = $ldap->get( $dn );
是否有一种方法可以从DN字符串本身获取DN条目,或者即使您知道DN本身,也必须搜索该条目?您所说的是您存储了“可分辨名称”(字符串),而不是DN条目(一个
Net::LDAP::entry
对象)。如果是这种情况,我相信您必须从DN创建一个新的Net::LDAP::Entry
对象。文档表明,您可以直接将操作应用于此类对象,而无需与服务器同步,但这不会提供给定DN的所有数据。如果需要服务器的数据,需要通过$ldap->search(…)
获取
您是否考虑过使用
Net::LDAP::LDIF
本地存储DN数据?使用LDAP,客户端必须始终搜索或使用扩展操作来获取数据。如果您对与条目关联的所有属性感兴趣,并且DN已知,请在搜索请求中使用以下参数:
- baseObject:已知的DN
- 搜索范围:base
- 过滤器:要么
要么(&)
(objectClass=*)
- 要返回的属性列表。一些API对所有用户属性使用
,对所有操作属性使用*
+
svn\u auth\u文件
转移到LDAP,并且我正在从一个管理链中取出所有用户。经理有一个directReports属性,其中包含直接下属员工的DN字符串。我需要通过这些直接下属来获得他们的直接下属,直到我拥有整个组织。因为我有DN字符串,所以我认为用该DN字符串搜索DN条目是愚蠢的。我希望有办法直接检索DN。是的,我基本上就是这么做的:搜索基数是DN,范围是基数,过滤器是(objectclass=*)
。我没有想到要把它做成(&)
。看起来一定有某种方法可以直接获取DN,但是看看各种LDAP API,它们都不包括任何获取条目的方法,除非通过搜索。