LDAP Benutzergruppenabfrage

master_gort

Grünschnabel
Guten Morgen Community,

ich stehe leider derzeitig vor einem noch nicht gelösten Problem mit LDAP und dem Windows 2003 Server Active Directory.

Folgendes Szenario:
  1. Ein Benutzer meldet sich auf einer Webseite an
  2. Die Benutzerdaten werden an den (PHP) Server gesendet
  3. Die Daten werden validiert
  4. Die Benutzerdaten werden gegenüber dem Win2k8 AD authentifiziert
  5. Und nun der Knackpunkt:
  6. Die Benutzergruppe soll von dem Benutzer ausgelesen werden

Mein PHP Script arbeitet derzeitig wie folgt:
  1. Connect zum Win2k8 AD (klappt)
  2. LDAP-Bind mit den übergebenen Benutzerdaten (klappt)
  3. Abfrage der Benutzergruppe mittels ldap_search (klappt nicht)

PHP:
//Connect
$this->conn = ldap_connect($this->host, $this->port);

//Bind
$this->inBind = ldap_bind($this->conn, "CN=master_gort,CN=Users,DC=lan,DC=bsg", $this->password);

$basedn = "CN=Users,DC=lan,DC=bsg";

//ldap_search ........ nur nach dem Benutzer
$rs = ldap_search($this->conn, $basedn, "(&(member=master_gort))");
$info = ldap_get_entries($this->conn, $rs);

print "<pre>";
print_r($info);
print "</pre>";

Ausgabe des PHP Skriptes:

Code:
Array
(
    [count] => 0
)

Ich suche quasi nach folgenden Lösungsansätzen um zu einem Ergebnis zu kommen:

  • Ist Benutzer "master_gort" in der gruppe xy
  • Gib alle Benutzer der Gruppe xy

Sobald ich eine von den beiden Lösungen hätte könnte ich fortfahren.

Leider schaffe ich es nicht weder die gruppe "xy" auszulesen noch die Benutzerattribute auszulesen.

Ich hoffe das mir jemand weiterhelfen kann.

Hier noch einige technische Informationen:
  • Apache PHP Server mit PHP 5.2.6-0.1
  • LDAP RCS-Version: $Id: ldap.c,v 1.161.2.3.2.12 2007/12/31 07:20:07 sebastian Exp $
  • LDAP API-Version: 3001

Für jeden Lösungsansatz bin ich dankbar.

greetz
master_gort
 
[GELÖST]

So habe es nun überraschend gelöst bekommen!

Echt erschreckend, dass mir nun gleich die Lösung im Brain zugeflogen kam.

Hier nun für alle die lösung wie ich an meine Informationen herangekommen bin für alle die das gleiche Problem haben:

PHP:
$basedn = 'CN=Users,DC=lan,DC=bsg';
$information = array('distinguishedname', 'cn');

$rs = ldap_search($this->conn, $basedn, 'memberof=CN=xy,CN=Users,DC=lan,DC=bsg', $information);

$info = ldap_get_entries($this->conn, $rs);

print "<pre>";
print_r($info);
print "</pre>";

Ausgabe:

Code:
Array
(
    [count] => 1
    [0] => Array
        (
            [distinguishedname] => Array
                (
                    [count] => 1
                    [0] => CN=master_gort,CN=Users,DC=lan,DC=bsg
                )

            [0] => distinguishedname
            [count] => 1
            [dn] => CN=master_gort,CN=Users,DC=lan,DC=bsg
        )

)
 

Neue Beiträge

Zurück