LDAP Active Directory身份验证问题

时间:2010-06-29 13:29:52

标签: perl authentication active-directory ldap

我正在尝试使用其LDAP凭据对我网站上的用户进行身份验证。但是,在我可以验证任何其他用户名/密码之前,绑定到活动目录似乎需要我的凭据。
我不想在应用程序中硬编码我的凭据。有什么建议吗?

$self->authen->config( 
DRIVER => [ 'Authen::Simple::LDAP',
host   => 'ldapad.company.com',
basedn => 'OU=XXX,OU=AD,DC=YYY,DC=ZZZ', 
binddn => 'CN=myname,OU=Users,OU=company,OU=AD,DC=company,DC=ZZZ',
bindpw => 'secret',
filter => '(cn=%s)',   

],

CREDENTIALS          => [ 'authen_username', 'authen_password' ],
STORE                => 'Session',
LOGOUT_RUNMODE       => 'logout',
LOGIN_RUNMODE        => 'login',
POST_LOGIN_RUNMODE   => 'okay',
RENDER_LOGIN         => \&my_login_form,

);

3 个答案:

答案 0 :(得分:2)

这是LDAP到A / D的标准FAQ项。

您必须创建一个特殊用户才能绑定到A / D,并在客户端中对凭据进行硬编码。 AFAIK没有办法解决这个问题,但是如果有更新的信息(几年前我解决了这个问题),我很想知道。

答案 1 :(得分:2)

您可以将凭据存储在一个单独的文件中,该文件以编程方式读取,并具有严格的权限,因此至少您不必将凭据直接嵌入源代码中。

答案 2 :(得分:1)

您应该在活动目录中创建一个用户(比如'aduser'),该用户可以拥有一个简单的密码。然后,您可以简单地授予该用户无权执行或访问任何内容的权限。 AD允许任何用户(甚至没有访问权限的用户)绑定到目录,但他们必须在域上拥有一个帐户。