2011-07-05 105 views
0

我工作场所的几个Perl应用程序需要LDAP认证。当这些应用程序要求用户登录时,应用程序将匿名连接到LDAP服务器,然后在LDAP数据库中搜索用户。但是现在,我们不再允许匿名连接到LDAP服务器,我们会提供一个用户名和密码来连接到它。如何验证LDAP帐户?

回答

3

某些代码会有帮助,但基本上,如果您有用户名和密码,则只需绑定到LDAP目录即可。

Net::LDAP文档有以下示例:

$ldap = Net::LDAP->new('ldap.umich.edu'); 
$mesg = $ldap->bind('cn=root,o=University of Michigan,c=us', password => 'secret'); 
# your normal code goes here 

替代地,当然,你可以绕过用户名和密码你提供且简单地使用由所提供的用户名和密码绑定到该目录用户。

请注意,如果您绑定了Active Directory,则可以使用以下任一方法进行绑定:1)帐户的用户主体名称(例如,[email protected])或2)Kerberos ID(类似于UMICH \用户)除了使用提供的用户的DN之外。

+0

感谢您的帮助,我真的在想我的问题,这是一个愚蠢的修复。我们正在摆脱LDAP服务器并获得新服务器,所以我的问题是我不知道我可以使用用户凭据来验证连接。但是如果我需要搜索LDAP服务器,那么我需要做其他事情。感谢您的帮助。 – samwell