Zum Inhalt springen

ldap+Active Directory+mediawiki


Woddi

Empfohlene Beiträge

Hallo zusammen,

ich versuche gerade eine Anmeldung über das Mediawiki über die Domäne mit ldap hinzubekommen. Nur leider scheiterts schon ganz am Anfang. Zweck des ganzen ist es das ich mich im Mediawiki einlogge und ldap soll überprüfen ob der benutzer in der domäne auch der richtige ist. Was ich nun leider nicht weiß ist, wie ich das ganze Einrichten soll. Was ich denke ist das ich einen ldapserver laufen lassen muss und dann noch ein php plugin fürs mediawiki (Extension:LDAP Authentication - MediaWiki). Das Activ Directory ist schon vorhanden und läuft auf einen w2k3 server. ich will kein Neues Verzeichnisdienst aufbauen, er soll lediglich überprüfen ob es den Benutzer gibt und das richtige passwort eingeben hat. Kann ich ldap sagen er soll das AD also Verzeichnis nehmen und da überprüfen?

Wenn ja wie? wenn nein, wie soll ich es dann machen?

Woddi

Link zu diesem Kommentar
Auf anderen Seiten teilen

sodala, wie weit ich gesehen habe verbindet er sich ja auch an die Domäne...

hier mal die Einstellungen:

require_once( "LdapAuthentication.php" );

$wgAuth = new LdapAuthenticationPlugin();

$wgLDAPDomainNames = array( "ad" );

$wgLDAPServerNames = array( "ad"=>"adserver" );

$wgLDAPSearchStrings = array( "ad"=>"AD\\USER-NAME" );

$wgLDAPEncryptionType = array( "ad"=>"false" );

$wgLDAPUseLocal = false;

$wgMinimalPasswordLength = 1;

$wgLDAPDebug = 99;

bei mir kommt dann die fehlermeldung raus:

Entering validDomain

User is using a valid domain.

Setting domain as: ad

Entering getCanonicalName

Username isn't empty.

Munged username: Benutzername

Entering userExists

Entering authenticate

Entering Connect

Using TLS or not using encryption.

Using servers: ldap://adserver

Connected successfully

Entering getSearchString

Doing a straight bind

userdn is: ad\Benutzername

Binding as the user

Failed to bind as ad\Benutzername

with password: xyz

Entering modifyUITemplate

Warum kann er den Benutzername nicht binden? Habe extra nen benutzer angelegt. PW ist nicht falsch

Verbinden tut er sich oder ist das noch nicht das AD?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo nochmal,

hab nochmal versucht es mit verschieden Verbindungsmöglichkeiten zu machen.

Folgende Zeile

$wgLDAPEncryptionType = array( "ad"=>"false" );

habe ich noch was ausprobiert

$wgLDAPEncryptionType = array( "ad"=>"ssl" );

$wgLDAPEncryptionType = array( "ad"=>"tls" );

beide haben leider nicht funktioniert. bei tls hat er garnicht weiter gemacht.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

ich habe es nochmal mit dem

$wgLDAPEncryptionType = array( "ad"=>"clear" );

probiert, nur leider gibt er immnoch die Fehlermeldung aus.

Connected successfully

Entering getSearchString

Doing a straight bind

userdn is: ad\Benutername

Binding as the user

Failed to bind as ad\Benutzername

with password: xyz

Entering modifyUITemplate

Nur nochmal zu meinen Verständnis das ich nichts falsch gemacht habe.

Als erstes lade ich mir die php datei runter von ldap-auth fürs wiki,

danach richte ich in der localsettings.php die sachen ein und dann noch die extension=php_ldap.dll freigegeben.

Dann müsste es doch soweit klappen oder?

Gruß Woddi

Link zu diesem Kommentar
Auf anderen Seiten teilen

So habs nun doch endlich geschafft. Die Domaine war nicht richtig angegeben. Nun funktioniert alles soweit.

Hier mal nen auszug wie er sich richtig einträgt:

Created a regular filter: (=Benutzername)

Entering getBaseDN

basedn is not set for this type of entry, trying to get the default basedn.

Entering getBaseDN

basedn is not set.

Using base:

Couldn't find an entry

Pulled the user's DN:

Authentication passed

Entering initUser

Entering updateUser

Entering authenticate

Entering Connect

Using TLS or not using encryption.

Using servers: ldap://adaddresse

Connected successfully

Entering getSearchString

Doing a straight bind

userdn is: ad\Benutzername

Binding as the user

Binded successfully

Entering getUserDN

Created a regular filter: (=Benutzername)

Entering getBaseDN

basedn is not set for this type of entry, trying to get the default basedn.

Entering getBaseDN

basedn is not set.

Using base:

Couldn't find an entry

Pulled the user's DN:

Authentication passed

Entering updateUser

Hier ist meine Konfig dazu:

require_once( "LdapAuthentication.php" );

$wgAuth = new LdapAuthenticationPlugin();

$wgLDAPDomainNames = array( "ad" );

$wgLDAPServerNames = array( "ad"=> "adaddresse" );

$wgLDAPSearchStrings = array( "ad"=>"ad\\USER-NAME");

$wgLDAPEncryptionType = array( "ad"=> "clear");

$wgLDAPUseLocal = false;

$wgMinimalPasswordLength = 1;

$wgLDAPDebug = 99;

Was jemand wie ich meinen sysop da behalten kann?

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 1 Monat später...
  • 1 Monat später...
  • 8 Monate später...

im Grunde geht es ja darum wie ich den Benutzername und Password für die Ldap authentifizierung mitliefere am verbindungstring(also da ja anonym nicht zugelassen wird)

Allerdings bin ich noch nicht wirklich dazu fündig geworden.

Normal bin ich es gewohnt direkt 2 variablen zu haben wo ich dies nur hinzufügen muss ...^^

Steht ebend kein beispiel dazu da mit

Link zu diesem Kommentar
Auf anderen Seiten teilen

z.B.

$wgLDAPSearchStrings = array(

'exampleNonADDomain' => 'uid=USER-NAME...

Damit gibst du an, welches Feld bei dir den Anmeldenamen beinhaltet und gegen welches Feld also der Login geprüft werden soll.

Mitgeben tust du gar nicht, denn es kommt eine extra Aufforderung vom Server, die dich gar nicht interessieren muss (bzw nur den Programmierer der Extension).

Link zu diesem Kommentar
Auf anderen Seiten teilen

ich hab jetzt in der ldapauthentication.php

die beiden variablen gefunden die mich interessiert haben und zwar $userdn und $password.

ich meinte damit nicht die benutzerauthentifizierung sondern erstmal am ldap sprich ad selber anmelden damit überhaupt nach user informationen gesucht werden können etc.

wollte mir schon fast nen eigenes schreiben....^^

paradoxe daran ist das im script selber keine variablenübergabe statfindet sondern die beide auf leer gesetzt waren. habs nun name/pw dort manuell eingetragen.

Aber dennoch danke für die Hilfe ;)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Das AD lässt doch bei uns keine anonymen zugriffe zu. Damit Wiki überhaupt jetzt erstmal darauf zugreifen kann (bzw. die ldap schnittstelle) muss eine Authorisation stattfinden.Erst dann kann ein abgleich mit Benutzername/PW stattfinden.

Dazu musste/sollte die ldap schnittstelle sich erstmal am server autoriseren. Dementsprechend musste ich doch irgendwie Benutzername/PW für die AD anmeldung übermitteln. Und meine frage lief ja darauf hinaus, wie übermittel ich diese.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Also bei uns gab es (auch über wiki und die ldap extension, ohne manuelles nacharbeiten" einen Proxyuser, der genau dafür da war, dass eine Abfrage sich anmelden konnte. Proxyuser war der LDAP Begriff dafür.

Schau mal ob du da was findest, denn das ist bei mir schon zu lange her und war bei nem anderen Arbeitsplatz ;)

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 1 Jahr später...

Hallo,

wie bekomme ich auch diese Debug ausgabe für das LDAP Plugin? Ich habe es geschafft, das sich das Plugin zum LDAP verbindet, aber bei einem gültigen User und Passwort bekomm ich immer wieder die Meldung "Passwort oder Benutzername sind falsch" bei der Anmeldung. Würde mir gern den Debug ansehen. Danke schonmal

Meine Config

$wgAuth = new LdapAuthenticationPlugin();

$wgLDAPDomainNames = array( '***' );

$wgLDAPServerNames = array( '***' => '***' );

$wgLDAPSearchStrings = array( '***' => '***\\USER-NAME' );

$wgLDAPEncryptionType = array('***' => 'clear' );

$wgLDAPUseLocal = false;

$wgMinimalPasswordLength = 1;

$wgLDAPRetrievePrefs = false;

$wgLDAPDebug = 99;

$wgDebugLogFile = 'c:/users/public/wiki/debug.txt';

Link zu diesem Kommentar
Auf anderen Seiten teilen

Habs gefunden mit dem LOG

2009-10-16 11:38:31  wikidb-wiki_: Entering validDomain

2009-10-16 11:38:31  wikidb-wiki_: User is using a valid domain.

2009-10-16 11:38:31  wikidb-wiki_: Setting domain as: ***

2009-10-16 11:38:31  wikidb-wiki_: Entering getCanonicalName

2009-10-16 11:38:31  wikidb-wiki_: Username isn't empty.

2009-10-16 11:38:31  wikidb-wiki_: Munged username: *****

2009-10-16 11:38:31  wikidb-wiki_: Entering userExists

2009-10-16 11:38:31  wikidb-wiki_: 

2009-10-16 11:38:31  wikidb-wiki_: Entering authenticate

2009-10-16 11:38:31  wikidb-wiki_: 

2009-10-16 11:38:31  wikidb-wiki_: Entering Connect

2009-10-16 11:38:31  wikidb-wiki_: Using TLS or not using encryption.

2009-10-16 11:38:31  wikidb-wiki_: Using servers:  ldap://***.***.***.***

2009-10-16 11:38:31  wikidb-wiki_: Connected successfully

2009-10-16 11:38:31  wikidb-wiki_: Entering getSearchString

2009-10-16 11:38:31  wikidb-wiki_: Doing a straight bind

2009-10-16 11:38:31  wikidb-wiki_: userdn is: ***\******

2009-10-16 11:38:31  wikidb-wiki_: 

2009-10-16 11:38:31  wikidb-wiki_: Binding as the user

2009-10-16 11:38:32  wikidb-wiki_: Failed to bind as ***\*****

2009-10-16 11:38:32  wikidb-wiki_: Entering allowPasswordChange

2009-10-16 11:38:32  wikidb-wiki_: Entering modifyUITemplate

er kann meinen user nicht binden. mhh

Link zu diesem Kommentar
Auf anderen Seiten teilen

Das anmelden per LDAP habe ich nun hinbekommen. Für interessierte:

$varDomain 				= 'DeineDomain';

$wgAuth 				= new LdapAuthenticationPlugin();

$wgLDAPDomainNames 			= array( $varDomain );

$wgLDAPServerNames 			= array( $varDomain => $varDomain );

$wgLDAPSearchStrings 			= array( $varDomain => $varDomain ."\\USER-NAME"  );

$wgLDAPEncryptionType 			= array( $varDomain => 'clear' );

# $wgLDAPDisableAutoCreate 		= array( $varDomain => true);

$wgLDAPUseLocal 			= false;

$wgLDAPUseSSL	 			= false;

$wgLDAPAddLDAPUsers 			= false;

$wgLDAPUpdateLDAP 			= false;

$wgLDAPMailPassword 			= false;

$wgLDAPGroupLowerCaseUsername 		= false;

$wgMinimalPasswordLength 		= 1;

$wgLDAPRetrievePrefs 			= false;

$wgLDAPDebug 				= 0; //for debugging LDAP

$wgShowExceptionDetails 		= true;  //for debugging MediaWiki

$wgDebugLogFile  			= 'c:/debug.txt';

$wgDebugLogGroups["ldap"] 		= 'c:/_debug.log';

wie erreiche ich nun eine automatische anmeldung (sowas wie single singon)?

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 7 Monate später...

Hallo,

ich hätte eine kurze Frage zum Thema Wiki mit LDAP-Authentifizierung. Der Login mit der jeweiligen Kennung funktioniert soweit schon, allerdings werden in der Versionshistorie nur die Kennungen angezeigt. Das Problem hierbei ist, dass niemand die Kennungen den realen Personen zuordnen kann.

Deshalb suche ich eine Möglichkeit den Vor- und Nachnamen beim Login auszulesen und diesen dann im Wiki auch entsprechend anzuzeigen.

Hat jemand eine Idee, wie ich das realisieren kann? Im Internet kann ich dazu leider nichts finden.

Vielen Dank.

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 1 Monat später...

I can successfully login in using my LDAP credentials, and Real Name and Email are pulled form LDAP and can be seen in preferences. The issue is that none of the actions show my Real Name, only my username. Is this an issue with the extension or mediawiki?

* This is normal for mediawiki. Real Name can be used in signatures, but for revision history, recent changes, etc. it will show your username, not the real name. Search the lists and you may find if this can be changed, but I'm assuming no.

--Ryan lane 18:21, 15 December 2008 (UTC)

Extension:LDAP Authentication/Suggestions - MediaWiki

Wenn sich seit dem nichts an dem Plugin getan hat, dann wird das ohne eigenes Patchen nicht gehen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

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

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

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

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...