繁体   English   中英

php的ldap auth间歇性失败

[英]ldap auth with php fails intermittently

我整理了一个基本的网络应用程序,实际的网络应用程序本身运行良好。 但是,我想使用我们现有的ldap服务器添加用户身份验证。 ldap脚本似乎间歇性地工作,当登录的前几次尝试失败并显示“拒绝访问”消息时,它将进行身份验证。 我在没有应用程序的情况下独自运行了脚本,并且应用了相同的行为。

我似乎无法将问题束缚在任何地方,我只能假设它是在ldap方面而不是php方面发生的。 我已经在下面添加了脚本,任何帮助都将非常有用。

在编写此代码时,它未能通过3次身份验证并通过了两次...

<?php

$user = $_POST['login-name'];
$password = $_POST['login-pass'];

$ldap_user = 'uid='.$user.',ou=people,dc=ourdomain,dc=com,dc=au';
$ldap_pwd = $password;

$ldaphost = 'ldap://ldapserver.domain.com';
$ldapport = 389;

$ds = ldap_connect($ldaphost, $ldapport)
or die("Could not connect to $ldaphost");
if ($ds)
{
    $username = $ldap_user;
    $upasswd = $password;

    $ldapbind = ldap_bind($ds, $username, $upasswd);


    if ($ldapbind)
        {
            //print "Congratulations! $username is authenticated.";
            header('Location: message.html');
        }
    else
        {print "Access Denied!";}


}
?>

您可能应该使用以下命令将LDAP协议版本设置为3

ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3);

在调用ldap_bind()之前。

我在http://php.net/manual/de/function.ldap-bind.php#72795找到了

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM