70 lines
1.8 KiB
PHP
Executable File
70 lines
1.8 KiB
PHP
Executable File
<?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";
|
|
|
|
|
|
$ldap_port = "389";
|
|
|
|
// LDAP Abfrage
|
|
// ich hab einen erweiterten Filter genommen, da ich nicht nur die User des AD haben wollte, sondern auch Kontakteinträge.
|
|
$filter = "(&(objectclass=person)(cn=*)(sAMAccountName=*))";
|
|
//$filter = "(&(|(objectClass=user)(objectClass=contact))(objectCategory=person)(cn=*))";
|
|
|
|
// Verbindung zum AD herstellen
|
|
$ds = @ldap_connect($server, $ldap_port);
|
|
if($ds){
|
|
echo "ds Erfolgreich<br>";
|
|
}else{
|
|
echo "ds Nicht erfolgreich<br>";
|
|
}
|
|
|
|
// Ihr könnt dies auch nutzen, um z.B. Usernamen und Passwort z.B. fürs Intranet zu verifizieren.
|
|
$binding = ldap_bind($ds,$username,$password) or die("Fehler");
|
|
|
|
if($binding){
|
|
echo "binding Erfolgreich<br>";
|
|
}else{
|
|
echo "binding Nicht erfolgreich<br>";
|
|
}
|
|
|
|
// AD auslesen
|
|
$sr = ldap_search($ds,$basedn,$filter);
|
|
$result = ldap_get_entries($ds,$sr);
|
|
$anzahl = ldap_count_entries($ds, $sr);
|
|
|
|
if($sr){
|
|
echo "search Erfolgreich<br>";
|
|
}else{
|
|
echo "search Nicht erfolgreich<br>";
|
|
}
|
|
|
|
|
|
if($result){
|
|
echo "result Erfolgreich<br>";
|
|
}else{
|
|
echo "result Nicht erfolgreich<br>";
|
|
}
|
|
|
|
// in $result sind nun alle User mit allen Informationen enthalten.
|
|
echo "<pre>";
|
|
|
|
|
|
for($i=0;$i<$anzahl;$i++){
|
|
$vorname = $result[$i]['givenname'][0];
|
|
$nachname = $result[$i]['sn'][0];
|
|
$uid = $result[$i]['samaccountname'][0];
|
|
echo "$vorname $nachname -> $uid<br>";
|
|
}
|
|
print_r($result);
|
|
|
|
echo "</pre>";
|
|
?>
|