<?php // Base DN bezeichnet die oberste OU unter der die User zu finden sind. $basedn = "ou=OUHochschulnetzwerk,dc=hsnet,dc=hs-ludwigsburg,dc=de"; $server = "localhost"; // da der Zugriff auch ohne Anmeldung möglich sein soll, hab ich einen extra User im AD angelegt, um mich mit dem Server zu verbinden. $username = "cn=LDAPqueryUser,dc=hsnet,dc=hs-ludwigsburg,dc=de"; $password = "ldHS332"; $name_user = "schwaral"; $password_user = "15879"; $ldap_port = "389"; $ds = @ldap_connect($server, $ldap_port); #ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3); if ($ds) { # bind wird benötigt, sonst werden die Umlaute bei Namen nicht richtig angezeigt ?!!? $r = ldap_bind($ds, $username, $password); if($r){ echo "bind erfolgreich<br>"; }else{ echo "bind fehlgeschlagen<br>"; } $_ldap_dn = "dc=hsnet,dc=hs-ludwigsburg,dc=de"; $sr = ldap_search($ds, $_ldap_dn, "sAMAccountName=$name_user"); $info = ldap_get_entries($ds, $sr); $anzahl = ldap_count_entries($ds, $sr); echo "Anzahl: $anzahl<br>"; $vorname = $info[0]['givenname'][0]; $nachname = $info[0]['sn'][0]; $mail = $info[0]['mail'][0]; $first = @ldap_first_entry($ds, $sr); $distinguishedName = @ldap_get_dn($ds, $first); echo $distinguishedName."<br>"; ################################ # Bind geht im hsnet nur über den DN "CN=Schwarz\, Alexander, OU=Externe Benutzer, ou=OUHochschulnetzwerk,dc=hsnet,dc=hs-ludwigsburg,dc=de" ##!!!!! IM STUDNET MIT DEM USERNAMEN BINDEN, IM HSNET MIT DEM DISTINGUISHEDNAME !!!!!!################# if ($bind = @ldap_bind($ds, $distinguishedName, $password_user) AND $anzahl > 0) { #echo "hsnet: Bind funktioniert: $anzahl |$distinguishedName|<br>"; $login = "0"; $login_ad = "hsnet"; } else { # Bind funktioniert nicht $login = "1"; ldap_close($ds); #echo "hsnet: Bind funktioniert nicht: $anzahl <br>"; } }else{ echo "kein connect"; } echo $login; ?>