PHP LDAP bindet AD mit dem Benutzerkonto des Servers
Ich habe einen Code, der PHP und LDAP verwendet, um eine Verbindung zu AD herzustellen:
$host = 'ldap://stack.overflow.com';
$port = 389;
$username = 'stackOverflow';
$password = 'IaMP4ssWord';
$dn = 'CN=Users, DC=STACK, DC=OVERFLOW, DC=COM';
$cond = '(&(objectcategory=user)(displayname=*))';//All users that have a displayname
if($ldap = ldap_connect($host, $port))
{
if(ldap_set_option($ldap, LDAP_OPT_PROTOCOL_VERSION, 3))
{
if(ldap_bind($ldap, $username, $password))
{
$attrs = array('displayname', 'mail');
if($rs = ldap_search($ldap, $dn, $cond, $attrs))
{
$results = ldap_get_entries($ldap, $rs);
echo "<pre>";print_r($result);echo "</pre>";//Print the results
}
}
else
{ echo 'Binding failed';}
}
else
{ echo 'Setting options failed';}
}
else
{ echo 'Connection failed'; }
Jetzt funktioniert dieser Code einwandfrei. Es druckt jeden Benutzer aus, der einen Anzeigenamen in AD hat. Problem ist für die Benutzer- / Kennwortbindung, die ich meine eigenen Benutzeranmeldeinformationen benutze, um an den Server zu binden.
Ich möchte wissen, ob es eine Möglichkeit gibt, mithilfe der Anmeldeinformationen des Servers eine Bindung herzustellen.
Ich bin mit PHP 5.3 + IIS auf Windows Server 2008 R2 sowohl für den Server mit IIS als auch für den mit AD eingerichtet (zwei verschiedene VMs).
Ich weiß auch, dass IIS ein AD-Konto mit dem Namen IISStackOverflow hat, aber ich kenne das Passwort nicht, oder auch wenn es ein Passwort hat ...
Vielen Dank!
Oh! Ich habe versucht mich umzuziehen$username
zuIISStackOverflow
und$password
zu''
Aber es gab einen ungültigen Berechtigungsfehler.
--BEARBEITEN--
Muss ich den verbindlichen Teil überhaupt machen? (Wenn ich nur Daten lese)