Active Directory araması nasıl PHP ile yapabilirim? PHP yeniden derlenmesine ihtiyaç duymadan. PHP version 5.3
Ben bir kişinin kendi kullanıcı adından adını görüntülemek bulmak istiyorum. Web sunucusu IIS 6 ve PHP FastCGI ile servis edilir.
Ben adını almak:
$cred = explode('\\',$_SERVER['REMOTE_USER']);
if (count($cred) == 1) array_unshift($cred, "(no domain info - perhaps SSPIOmitDomain is On)");
list($domain, $user) = $cred;
return $user;
Peki nasıl o isim bulabilirsiniz? örneğin DoeJ = John Doe
Edit:
Kullanıcı arama için çalışıyor, ancak "taban DN" bulmak için nasıl emin değil. Yani anonim bağlantı, Active Directory sunucusuna doğrudan erişim veya yönetici haklarına sahip değilsiniz.
<?php
//using ldap bind anonymously
// connect to ldap server
$ldapconn = ldap_connect("example.co.uk")
or die("Could not connect to LDAP server.");
if ($ldapconn) {
// binding anonymously
$ldapbind = ldap_bind($ldapconn);
if ($ldapbind) {
echo "LDAP bind anonymous successful...";
ldap_set_option($ldapconn, LDAP_OPT_PROTOCOL_VERSION,3);
ldap_set_option($ldapconn, LDAP_OPT_REFERRALS,0);
$dn = "CN=Users"; // also tried DC=example,DC=co,DC=uk
$filter="(SAMAccountName=username)";
$justthese = array("ou", "sn", "givenname", "mail");
$sr=ldap_search($ldapconn, $dn, $filter, $justthese);
$info = ldap_get_entries($ds, $sr);
echo $info["count"]." entries returned\n";
} else {
echo "LDAP bind anonymous failed...";
}
}
?>
Ldap_search başarısız Uyarı: ldap_search () [function.ldap-Arama]: Arama: Operasyon hatası