使用LDAP单点登录Active Directory

时间:2015-11-22 17:19:17

标签: php active-directory ldap

我正在尝试从LDAP功能获取用户信息。我需要在Active Directory上为我的PHP应用程序单一登录。我正在使用以下功能:

$ldapserver = 'abc.com';
$ldapuser      = 'ali@abc.com'; 
$ldappass     = 'xyz';
$attributes_ad = array
("displayName","description","cn","givenName","sn","mail","co","mobile","company","
displayName");
// define base
$base ="";
// connect
$ldapconn = ldap_connect($ldapserver) or die("Could not connect to LDAP server.");
if($ldapconn) {
    // binding to ldap server
    $ldapbind = ldap_bind($ldapconn, $ldapuser, $ldappass) or die ("Error trying to
bind: ".ldap_error($ldapconn));
    // verify binding
    if ($ldapbind) {
        echo "LDAP bind successful...<br /><br />";
        $result = ldap_search($ldapconn, $base, "mail=$email*", $attributes_ad) or die ("Error in search
        query");
                                $info = ldap_get_entries($ldapconn, $result);
             //Now, to display the results we want:
                for ($i=0; $i<$info["count"]; $i++)
                                {
                                // to show the attribute displayName (note the case!)
                                echo $info[$i]["displayname"][0];
                                }
                }
}

上面的代码需要用户名和密码,但我需要一个解决方案,只要有人使用AD凭据登录就可以获取用户名和密码我需要使用它们来验证我的PHP应用程序的登录(实际上它是一个内部网应用程序) 。请帮助我,我需要从活动目录中获取所有可用的用户信息。

0 个答案:

没有答案