Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

LDAP Abfrage mit PHP liefert nicht alle Datensätze zurück

Frage Entwicklung PHP

Mitglied: Bayano

Bayano (Level 1) - Jetzt verbinden

26.06.2007, aktualisiert 13.07.2007, 6132 Aufrufe, 8 Kommentare

Hallo,

ich frage in einem PHP-Script alle Benutzer des LDAP ab, allerdings werden mir nicht alle Datensätze zurückgegeben, sondern nur ca. 1000. Es sind allerdings ca. 2500 User.

Kann man diese Begrenzung irgendwie heraufsetzen? Ich habe schon in der PHP.ini geschaut, da gibt es keine Grenze.
Ich weiss auch nicht wo man es sonst festlegen könnte. Vielleicht weiss ja von euch jemand weiter.

MFG
Mitglied: Dani
26.06.2007 um 16:26 Uhr
Hi Bayano,
na dann lass uns auch bitte dein Script sehen. Vielleicht ist dort ein logische Fehler begraben. Kommt öfters vor, als man denke. Eine Grenze habe ich noch nicht feststellen können!
Wie fragen auch ca. 15000 Einträge ab und hatten noch keine Probleme.


Gruß
Dani
Bitte warten ..
Mitglied: Bayano
27.06.2007 um 07:30 Uhr
OK, Hier das Script:

01.
<?php 
02.
                  // Base DN bezeichnet die oberste OU unter der die User zu finden sind.  
03.
                  $basedn = "CN=Users,DC=domain,DC=de"; 
04.
                  $server = "server.domain.de"; 
05.
                  // 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. 
06.
                  $username = "username"; 
07.
                  $password = "passwort"; 
08.
                  $ldap_port = "389"; 
09.
                  // LDAP Abfrage  
10.
                  $filter = "(&(objectClass=user)(cn=*))"; 
11.
?> 
12.
<?php 
13.
                  // Verbindung zum AD herstellen 
14.
                  $connectid = @ldap_connect($server)or die("Keine Verbindung zum LDAP server möglich."); 
15.
?> 
16.
<?php 
17.
                  // Ihr könnt dies auch nutzen, um z.B. Usernamen und Passwort z.B. fürs Intranet zu verifizieren. 
18.
                  $binding = @ldap_bind($connectid,$username,$password) or die("Fehler beim Anmelden des Benutzers."); 
19.
?> 
20.
<?php 
21.
                  // AD auslesen 
22.
                  $search = @ldap_search($connectid,$basedn,$filter); 
23.
                  $result = ldap_get_entries($connectid,$search); 
24.
?> 
25.
<?php 
26.
                  $anzahl = ldap_count_entries($connectid,$search); 
27.
                  for ($i=0; $i<$anzahl; $i++) { 
28.
                   
29.
                  echo "User: " .$result[$i]["cn"][0]. "<p>"; 
30.
                  echo "dn: " .$result[$i]["dn"]. "<p>"; 
31.
                   
32.
                  echo "Telefon: " .$result[$i]["telephonenumber"][0]. "<p>"; 
33.
                  echo "sAMAccountName: " .$result[$i]["samaccountname"][0]. "<p>"; 
34.
                                    
35.
                  echo "Mail: " .$result[$i]["mail"][0]. "<p>"; 
36.
                  echo "Description: " .$result[$i]["description"][0]. "<p>"; 
37.
                  echo "------------------<p>"; 
38.
         
39.
40.
echo "Ende <p>"; 
41.
?>
Bitte warten ..
Mitglied: BSG2000
10.07.2007 um 08:18 Uhr
Ich schreibe auch gerade an einer ähnlichen Geschichte. Wir wollen im Intranet den Login zu internen Seiten sparen, indem per LDAP der aktuell angemeldete User des Rechners ermittelt wird. Anmeldung erfolt im Übrigen über Samba Domain mit LDAP usw.

Gibt es da nen bestimmten Flag, oder die Möglichkeit anhand der IP den angemeldeten User zu ermitteln?

Bin leider noch LDAP Anfänger...
Bitte warten ..
Mitglied: Bayano
11.07.2007 um 07:49 Uhr
Ich glaube nicht, das das so ohne weiteres mit PHP funktioniert, da PHP ja Serverseitig abläuft. Ich habe den angemeldeten User schonmal mit VBScript in einer HTML-Seite ausgelesen, diese muss dann allerdings lokal auf den Rechner ausgeführt werden. Also nicht das was du haben willst.
Wenn jemand eine Lösung findet, würde es mich auch sehr interessieren.
Bitte warten ..
Mitglied: BSG2000
11.07.2007 um 16:10 Uhr
Danke für die Antwort.
Hatte gedacht ich frage lokal den angemeldeten User ab und gleiche dies mit der LDAP DB ab, bzw. schaue ich ob die IP oder MAC des angemeldeten Clienten in das LDAP Verzeichnis kommt. Vielleicht muss man dazu ein bissel Javascript einarbeiten, das hab ich noch nicht getestet, sollte aber funktionieren. Ein Script dazu hab ich bereits gesehen.
Ich hab leider im Moment einen Bind Fehler (Protokoll Fehler...) bei Ausführung von ldap_bind. Ich komm da schon seit Tagen nicht mehr richtig weiter. Naja, weitere Antworten würden uns/mich nat. freuen.
Bitte warten ..
Mitglied: Bayano
12.07.2007 um 08:28 Uhr
Hast du in der PHP.ini LDAP freigeschaltet (ich meine die Zeile extension=php_ldap.dll, dort das Semikolon wegnehmen). Weil ansonsten geht das nicht.
Bitte warten ..
Mitglied: BSG2000
12.07.2007 um 21:42 Uhr
Ja, aber leider habe ich zum WebServer keinen direkten Kontakt, werde aber morgen mal mit den SysAdmin sprechen. LDAP Admin geht aber auch, daher...

Das Problem liegt sicher woanders. Ich werd vielleicht mal die Scripte posten. Evtl. sieht ja jemand den Fehler.
Bitte warten ..
Mitglied: Dani
13.07.2007 um 16:53 Uhr
Hi Jungs, Mädels,
ihr habt doch sicher einen phpMyAdmin auf dem Server am laufen? Da gibt es eine Datei http://server/phpmyadmin/phpinfo.php. Dort werden alle Info's angezeigt. Sucht dort einfach mal nach dem Usernamen mit dem ihr gerade angemeldet seit (am Besten Domänenuser).


Grüße
Dani
Bitte warten ..
Ähnliche Inhalte
PHP
gelöst PHP 7 und LDAP mit Umlauten (3)

Frage von wiesi200 zum Thema PHP ...

PHP
MySQL-Abfrage mit php: Wert + true bzw. false (2)

Frage von tomolpi zum Thema PHP ...

Heiß diskutierte Inhalte
Windows 7
gelöst BOOTMGR is missing (auch nach bootrec -RebuildBcd) (21)

Frage von Mipronimo zum Thema Windows 7 ...

Router & Routing
Tipps für Router (ca. 100 clients, VPN) (20)

Frage von oel-auge zum Thema Router & Routing ...

Windows Userverwaltung
Windows Freigabe: Zugriff auf alle Ordner trotz Sicherheitseinstellungen (18)

Frage von Pandreas zum Thema Windows Userverwaltung ...

Exchange Server
gelöst MS Exchange 2016 - Basicconfig Fragen (16)

Frage von maddig zum Thema Exchange Server ...