0

我一直在查看一些指南(和 PHP 手册),试图在我即将制作的 Intranet 站点上验证 AD 用户。这是我第一次使用 ldap_connect,但运气不佳。

任何人都可以看看我的代码,看看我错过了什么?

谢谢。

<?php
    $user = "08jf1";
    $password = "pass";

    // Active Directory server
    $ldap_host = "10.43.48.5"; 

    // Active Directory DN
    $ldap_dn = "OU=CSE-W7,OU=Students-W7,DC=server,DC=local";

    // Domain, for purposes of constructing $user
    $ldap_usr_domain = "@server.local";

    // Connect to AD host
    $ldapconn = ldap_connect("10.43.48.5");

    if ($ldapconn) { 
            $bind = ldap_bind($ldap_host, $ldap_dn, $user . $ldap_usr_domain, $password);

            if ($bind) {
                echo "Verified user";

                //$_SESSION['username'] = $session_username;
                //$_SESSION['password'] = $session_password;

                } else {
                    echo "User does not exist";
                }
        }
?>

编辑:我可以通过 phpinfo 确认 ldap 已启用!

4

3 回答 3

2

那语法ldap_bind正确吗?不是ldap_bind($ldapconn,$rdn,$password)吗?

于 2012-10-25T18:03:39.580 回答
0

绑定可能需要提升的权限或 authbind 包装器。有关 ldap,请参阅 authbind。LDAP 身份验证绑定

于 2012-10-25T08:49:40.520 回答
0

看看这个非常简单的例子:How to use LDAP Active Directory Authentication with PHP

于 2014-04-22T12:54:33.003 回答