Jump to content

Xampp Apache2 Benutzerverwaltung mit AD


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

Empfohlene Beiträge

danke dir für deine Antwort

 

habe die Installation soweit vorgenommen.

 

Erhalte jetzt beim Aufruf der Seite aber "Benutzerüberprüfung momentan nicht möglich. Falls das Problem andauert wenden Sie sich an den Systembetreuer."

 

Conf-File ist

 

<?php
/*
* Dokuwiki's Main Configuration File - Local Settings 
* Auto-generated by config plugin 
* Run for user: admin
* Date: Thu, 05 Nov 2009 20:38:29 +0100
*/

$conf['title'] = 'Tesweiki';
$conf['lang'] = 'de';
$conf['useacl'] = 1;
#$conf['authtype'] = 'ldap';
#$conf['superuser'] = '@admin';

$conf['authtype'] = 'ldap';

$conf['auth']['ldap']['server']           = '192.168.2.11'; # Hier die IP Adresse eines AD Domänencontroller eingeben
$conf['auth']['ldap']['binddn']           = 'testuser@domäne.local'; # Username mit Rechten zum LDAP Browsen
$conf['auth']['ldap']['bindpw']           = 'imp1234!'; # Passwort für den oben genannten User
$conf['auth']['ldap']['usertree']         = 'dc=domäne,dc=local'; # Domain in der die User enthalten sind
$conf['auth']['ldap']['userfilter']       = '(userPrincipalName=%{user}@domain)'; # Auf welche Attribute soll die Authentication laufen
$conf['auth']['ldap']['mapping']['name']  = 'displayname';
$conf['auth']['ldap']['mapping']['grps']  = array('memberof' => '/CN=(.+?),/i');
$conf['auth']['ldap']['referrals']        = 0; # Switch referrals off for use with Active Directory
$conf['auth']['ldap']['version']          = 3;

$conf['superuser'] = '@Benutzer'; # Gruppe in der die Mitglieder Wiki Admin Rechte besitzen



// end auto-generated content

Link zu diesem Kommentar
  • 3 Monate später...
  • 4 Wochen später...

morgen zusammen

 

lieber zu spät als nie ;-)

 

also, ich hatte bei mir auch das ldap backend umgesetzt. hatte aber nur probleme und bin dann auf das ad backend gegangen und seit her läuft es "fast" einwandfrei.

 

schau mal auf deiner firewall ob überhaupt LDAP anfragen vom server versendet werden (musst natürlich auch in 2 unterschiedlichen netze sein das ein routing stattfindet...)

 

hast du LDAP in der php.ini vom xampp server freigeschalten?

 

--> extension=php_ldap.dll

 

- dienst danach neu starten.

 

aber wie gesagt, das ad backend erspart euch viel zeit und nerven.

 

mfg

-s-v-o-

Link zu diesem Kommentar

As mentioned before, XAMPP is not meant for production use but only for developers in a development environment. The way XAMPP is configured is to be open as possible and allowing the developer anything he/she wants. For development environments this is great but in a production environment it could be fatal.

 

Falsches Produkt für euren Zweck.

Link zu diesem Kommentar
Wird deine "Domäne" mit "Ä" geschrieben ?

Ich bin nicht der beste php programmierer aber könnte es am Sonderzeichen ä im String liegen ?

 

PHP hat sicher kein Problem damit, aber eventuell das Protokoll wohin der String übergeben wird.

 

Zur XAMP Frage: Es ist toll wenn man schnell ein Packet mit allen drum und drann braucht.

 

Versuche die einzelnen Programme die du aus dem XAMP Packet benötigst, selber zu installieren und zu konfigurieren.

 

Wohin dürfen die PHP Skripte zugreifen? Es gibt einiges worüber du dir Gedanken machen sollest und meistens braucht man ja auch nicht alles.

 

Wir haben lange Apache verwendet und verwenden jetzt den IIS mit ISAPI Filtern bzw FastCGI. In einer Windows Umgebung hat IIS mit php.exe doch gewisse Vorteile.

 

Damit ich aus PHP gegen das AD authentifizieren kann habe ich diese Funktion:

$config['DEFAULT_AD_DOMAIN'] = "domain";
$config['LDAP_SERVER'] = "srv-ldap.local";

function authUser($username, $password) {
// User gegen AD authentifizieren
global $config;
$ds = @ldap_connect($config['LDAP_SERVER']);
if ($ds) {
	$authenticated = false;
	$bind = @ldap_bind($ds, $config['DEFAULT_AD_DOMAIN'] . "\\" . $username, $password);
	if ($bind) {
		$authenticated = true;
	}
	ldap_close($ds);
	return $authenticated;
} else {
	$err = 'Verbindung zum LDAP-Server nicht möglich: ' . $config['LDAP_SERVER'];
	throw new Exception($err);
}
}

 

oder um Informationen aus LDAP auszulesen:

$config['LDAP_SERVER'] = "srv-ldap.local";
$config['LDAP_USER'] = "ServiceAccount";
$config['LDAP_PWD'] = "Blah"; 

function getUserInfo($username) {
// User gegen AD authentifizieren
global $config;

$connect = ldap_connect($config['LDAP_SERVER']);
// Diese Parameter sind nötig für den Zugriff auf ein Active Directory:
ldap_set_option($connect, LDAP_OPT_PROTOCOL_VERSION, 3);
ldap_set_option($connect, LDAP_OPT_REFERRALS, 0);
if ($connect) {
	$bind = ldap_bind($connect, $config['DEFAULT_AD_DOMAIN'] . "\\" . $config['LDAP_USER'], $config['LDAP_PWD']);
	if ($bind) {
		// BaseDN festlegen:
		$base_dn = "DC=domain,DC=local";
		// LDAP filter setzen: Nur Kontakt- und Benutzer-Objekte sollen zurückgegeben werden
		$filter = "(&(objectCategory=Person)(objectClass=User)(sAmAccountName=" . $username . "))";

		// Suche starten:
		if (! ( $search = ldap_search($connect,$base_dn,$filter) ) ) {
			 die("Durchsuchen des LDAP-Servers fehlgeschlagen.");
		}
		$info = ldap_get_entries($connect, $search);
	}
	ldap_close($connect);
	return $info;
} else {
	return FALSE;
}
}

bearbeitet von OliverZ
Link zu diesem Kommentar
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...