MediaWiki LDAP Konfiguration

Status
Für weitere Antworten geschlossen.

hane

Benutzer
Mitglied seit
26. Okt 2013
Beiträge
10
Punkte für Reaktionen
0
Punkte
1
Hallo zusammen,

ich bin kurz vorm verzweifeln. Seit Tagen versuche ich, LDAP für MediaWiki zum laufen zu bringen.
Diverse Anleitungen habe ich schon durchprobiert und getestet - keine Chance.

Directory Server sowie MediaWiki inkl. LDAP-Plugin laufen ohne Probleme. Nur wenn ich mich mit meinem LDAP-Benutzer anmelden will, kommt immer diese Meldung:

"Fehler bei der Anmeldung
Das Passwort ist falsch. Bitte versuche es erneut."

Hat jemand evtl. eine LDAP-Vorlage für die LocalSettings.php, die für den Synology Directory Server funktioniert?
Oder sonst eine Idee? Es muss wohl an dieser Konfiguration liegen..

Gruß
hane
 

Harry_89

Benutzer
Mitglied seit
07. Mrz 2010
Beiträge
254
Punkte für Reaktionen
0
Punkte
0
Hallo,

ich betreibe zwar einen eigenen LDAP Server und habe deshalb ein paar andere Einstellungen aber eventuell hilft dir meine Config.
Mein LDAP-Server hat aber ziemlich genau die selbe Konfig wie der LDAP-Server von Synology, ein paar Sachen habe ich dennoch umgestellt.

Ich verwende das LdapAuthentication Plugin
Es sollte das hier sein denke ich. http://www.mediawiki.org/wiki/Extension:LDAP_Authentication

Eingebunden ist die Extension mit folgendem.

PHP:
require_once( "$IP/extensions/LdapAuthentication/LdapAuthentication.php" );

Und das ist meine ganze Konfiguration in der LocalSettings.php

PHP:
$wgAuth = new LdapAuthenticationPlugin();
$wgLDAPDomainNames = array('domain.lan');
$wgLDAPServerNames = array('domain.lan' => 'Adresse des LDAP Servers');
$wgLDAPSearchStrings = array('domain.lan' => 'cn=USER-NAME,cn=users,dc=domain,dc=lan');
$wgLDAPEncryptionType = array('domain.lan' => 'clear');
$wgLDAPPreferences = array('domain.lan' => array( 'email' => 'mail'));

$wgMinimalPasswordLength = 1;

$wgLDAPGroupBaseDNs = array( "domain.lan"=>"cn=groups,dc=domain,dc=lan" );
$wgLDAPGroupUseFullDN = array( "domain.lan"=>false );
$wgLDAPGroupObjectclass = array( "domain.lan"=>"posixgroup" );
$wgLDAPGroupAttribute = array( "domain.lan"=>"memberUid" );
$wgLDAPGroupNameAttribute = array( "domain.lan"=>"cn" );
$wgLDAPGroupsUseMemberOf = array( "domain.lan"=>false );
$wgLDAPUseLDAPGroups = array( "domain.lan"=>true );
$wgLDAPAddLDAPUsers = array("domain.lan" => true);
$wgLDAPGroupsPrevail = array( "domain.lan"=>true );
 

hane

Benutzer
Mitglied seit
26. Okt 2013
Beiträge
10
Punkte für Reaktionen
0
Punkte
1
Hallo Harry,

danke für das Beispiel.
Jetzt heisst es:

Fehler bei der Anmeldung
Der Benutzername „xyz“ ist nicht vorhanden. Bitte überprüfe die Schreibweise.

Im Prinzip habe ich zum testen nur meine eigene LDAP-Server-Adresse eingetragen. Oder hab ich noch etwas übersehen?
Woher weisst du, dass deine Config die der Synology ähnelt? Bzw. welche Sachen hast du umgestellt?
 

Harry_89

Benutzer
Mitglied seit
07. Mrz 2010
Beiträge
254
Punkte für Reaktionen
0
Punkte
0
Im Prinzip kannst du mit der Konfig eingentlich schon arbeiten.

Ich habe mir den Synology LDAP-Server einmal installiert und dann mit folgendem Tool die ganze Konfig angesehen.
https://www.ldap-account-manager.org/

Dieses Tool kann die ganze LDAP-Konfig auslesen und ändern.

Dann habe ich mir ein paar Sachen angepasst.
Vor allem haben meine User die selbe cn und uid, dies ist eigentlich alles was ich angepasst habe.
Damit erleichtere ich mir die Anbindung an meine ganzen Anwendungen.

Ich steuere über meinen LDAP-Server so gut wie alles bei mir zu Hause.
Wlan anmeldungen, Openvpn anmeldungen, Freigaben auf dem NAS

Lässt sich alles prima machen damit wenn man es etwas anpasst.

Wichtig bei der Anmeldung ist folgendes.

PHP:
$wgLDAPSearchStrings = array('domain.lan' => 'cn=USER-NAME,cn=users,dc=domain,dc=lan');

USER-NAME wird durch deine Userfeld eingabe im Wiki ersetzs.

Sieht bei mir so aus.
Wenn ich jetzt ins Benutzerfeld gast eingebe und dazu das richtige PW kann ich mich anmelden.
ldap.png

Ich habe mir gerade nochmals den Directory Server installiert und habe dort einen "testuser" erstellt.
Versuche mal folgendes:

PHP:
$wgLDAPSearchStrings = array('domain.lan' => 'uid=USER-NAME,cn=users,dc=domain,dc=lan');

Beachte das uid vor USER-NAME

Damit hats bei mir funktioniert.
 

hane

Benutzer
Mitglied seit
26. Okt 2013
Beiträge
10
Punkte für Reaktionen
0
Punkte
1
Es funktioniert - auch wenns lange gedauert hat :D

Meine Konfig sieht jetzt so aus:

Rich (BBCode):
# LDAP Config
require_once( "$IP/extensions/LdapAuthentication/LdapAuthentication.php" );  

$wgAuth = new LdapAuthenticationPlugin();
$wgLDAPDomainNames = array('xxx-yyy.DSCloud.biz');
$wgLDAPServerNames = array('xxx-yyy.DSCloud.biz' => '192.168.0.5');
$wgLDAPSearchStrings = array('xxx-yyy.DSCloud.biz' => 'uid=USER-NAME,cn=users,dc=xxx-yyy,dc=DSCloud,dc=biz');  
$wgLDAPEncryptionType = array('xxx-yyy.DSCloud.biz' => 'clear');
$wgMinimalPasswordLength = 1;

Außerdem hatte ich das SQL-Skript, welches die ldap_domains Tabelle anlegt, vergessen.
Verschlüsselung mittels SSL oder TLS hat leider nicht geklappt, da kommt dann immer "Falsches Passwort" beim Login als Fehlermeldung... Gibt es da ne Möglichkeit, den Directory Server zu modifizieren?

Aber bin schon froh, dass es jetzt überhaupt mal klappt :eek:

Vielen Dank für die Hilfe!
 

Harry_89

Benutzer
Mitglied seit
07. Mrz 2010
Beiträge
254
Punkte für Reaktionen
0
Punkte
0
Über die Verschlüsselung habe ich noch nie nachgedacht.
Der LDAP-Server und das Wiki stehen bei mir im LAN und ich verwende es auch nur dort.
 

hane

Benutzer
Mitglied seit
26. Okt 2013
Beiträge
10
Punkte für Reaktionen
0
Punkte
1
LDAP Server (Directory Server) sowie Client (MediaWiki) sind beide auf der DiskStation installiert und bei der Client-Config ist als Serveradresse "localhost" bei mir angegeben.
Das bedeutet ja eigentlich, dass die Anfrage noch nicht mal ins LAN geht, da ja localhost eine virtuelle Netzwerkschnittstelle ist.

Somit sollte man nicht mal im LAN die LDAP-Anfragen mit einem Netzwerk-Sniffer mitlesen können, weil die ja dort nicht gesendet werden.
Damit hat sich das Thema Verschlüsselung in diesem Fall bei mir auch erledigt.

Falls jemand mehr Ahnung hat, kann er das gerne verbessern ;)
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat