Jump to content

PHP Active Directory auf IIS8.5


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Guten Tag,

 

ich fummel schon seit einiger Zeit an einem Thema rum.

 

Ich habe ein Skript Welches mir aus unserer Telefonanlage diverse Dinge ausliest. Das wird per PHP gemacht. Dafür habe ich von der IT einen WinSrv2012 R" mit PHP 7.XX und dem IIS 8.5 bekommen.

 

Zugangsdaten für den LDAP Server etc habe ich auch bekommen.

 

Folgendes möchte ich realisieren:

 

Ein user darf die Seite für die Telefonanlage nur öffnen wenn dieser in einer Gruppe XY im AD ist zusätzlich möchte ich aber noch ein Attribut aus dem AD auslesen.

 

Ich hänge aber jetzt schon am kleinsten Teil.

 

Ich bekomme nicht anständig eine Verbinung bzw ein BIND zusammen.

 

Ich habe dieses Beispiel hier verwendet:

 

http://www.serverhowto.de/Das-Active-Directory-mit-PHP-und-LDAP-abfragen.356.0.html

 

Ich habe natürlich die Zugangsdaten vom LADP Server sowie die Adresse und die Search Basis eingestellt. Habe das auf eine OU eingegrenzt, damit ich im Test nicht ewig warten muss.

 

ABER ich bekomme solche Meldungen hier:

 

 

PHP Notice: Undefined index: givenname in C:\websites\SaSViewer\ldap\erstes_beispiel.php on line 47 PHP Notice: Undefined index: sn in C:\websites\SaSViewer\ldap\erstes_beispiel.php on line 48 PHP Notice: Undefined index: mail in C:\websites\SaSViewer\ldap\erstes_beispiel.php on line 49

 

Könnt Ihr mir dabei helfen? Ich sag mal wenn das grobe geht. Den Rest bekomme ich bestimmt irgendwie hingefummelt.

 

Vielen Lieben Dank

 

Gruß Matthias

 


Hallo,

 

nur mal als Beispiel:

 

Hier bekomme ich trotz Error Reporting den 500 Fehler.

 

 

In der PHP.ini ist LDAP aktiv!

<?php

error_reporting(E_ALL);
ini_set('display_errors', 1)

function get_groups($user) {
	// Active Directory server
	$ldap_host = "LDAPSRV.gruppe.intra";

	// Active Directory DN, base path for our querying user
	$ldap_dn = "OU=Standort,OU=Firma,DC=gruppe,DC=intra";

	// Active Directory user for querying
	$query_user = "user@gruppe.intra";//.$ldap_host;
	$password = "XXXX";

	// Connect to AD
	$ldap = ldap_connect($ldap_host) or die("Could not connect to LDAP");
	ldap_bind($ldap,$query_user,$password) or die("Could not bind to LDAP");

	// Search AD
	$results = ldap_search($ldap,$ldap_dn,"(samaccountname=$user)",array("memberof","primarygroupid"));
	$entries = ldap_get_entries($ldap, $results);
	
	// No information found, bad user
	if($entries['count'] == 0) return false;
	
	// Get groups and primary group token
	$output = $entries[0]['memberof'];
	$token = $entries[0]['primarygroupid'][0];
	
	// Remove extraneous first entry
	array_shift($output);
	
	// We need to look up the primary group, get list of all groups
	$results2 = ldap_search($ldap,$ldap_dn,"(objectcategory=group)",array("distinguishedname","primarygrouptoken"));
	$entries2 = ldap_get_entries($ldap, $results2);
	
	// Remove extraneous first entry
	array_shift($entries2);
	
	// Loop through and find group with a matching primary group token
	foreach($entries2 as $e) {
		if($e['primarygrouptoken'][0] == $token) {
			// Primary group found, add it to output array
			$output[] = $e['distinguishedname'][0];
			// Break loop
			break;
		}
	}

	return $output;
}

// Example Usage
print_r(get_groups("Jane"));

?>
Link zu diesem Kommentar
  • 2 Wochen später...
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...