我想使用Perl和Net::LDAP检查LDAP目录中是否存在给定的DN。所以,我想我会做这样的事情:
my $dn = 'uid=foo,ou=bar,ou=baz';
$ldap->search(base => $dn, scope => 'base', attrs => ['dn']);
但是,这会导致Bad filter
错误。我可以通过添加filter => '(objectClass=*)'
来实现它,但这看起来有些糟糕。
这是我应该怎么做的,还是我错过了什么?我是Net :: LDAP的新手。
答案 0 :(得分:2)
LDAP客户端必须为搜索请求提供有效的搜索过滤器。尝试使用(&)
进行过滤。请注意,某些损坏的目录服务器不接受合法过滤器(&)
。如果您的服务器以这种方式中断,请改用 present 过滤器(objectClass=*)
。