我正在尝试从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应用程序的登录(实际上它是一个内部网应用程序) 。请帮助我,我需要从活动目录中获取所有可用的用户信息。