Zum Inhalt springen

MediaWiki "Windows NTLM LDAP Auto Auth"-Extension


beevizz

Empfohlene Beiträge

Hallo zusammen,

hat jemand Erfahrung mit der "Windows NTLM LDAP Auto Auth"-Extension des MediaWikis?

Das hier ist der interessante Teil der Extension, bzw. der Teil, bei welchem ich momentan hänge...

## Windows Global Catalog Server

$wgWinLDAPGCServer = "gcserver.test.com";

## PHP SERVER VAR which contains the authenticated IIS user id TESTDOMAIN\TESTUSER

$wgWinLDAPGCServerValue = $_SERVER['REMOTE_USER'];

## Read only user account which can access the windows AD. Windows does not support anonymous logins by default.

$wgWinLDAPBindUser = "<domain>\\<domain user>";

$wgWinLDAPBindPassword = "<password>";

## Base of searches. Use the base of your forest / domain.

$wgWinLDAPForestRoot = "dc=test,dc=com";

## Map LDAP groups to wiki groups user accounts must be a member of the following groups

$wgWinLDAPGroupMapExternal = array("CN=Wiki SysOp,OU=_Managed WIKI Groups,DC=test,DC=com","CN=Wiki Bureaucrat,OU=_Managed WIKI Groups,DC=test,DC=com","CN=Wiki User,OU=_Managed WIKI Groups,DC=test,DC=com","CN=Wiki Restricted,OU=_Managed WIKI Groups,DC=test,DC=com");

$wgWinLDAPGroupMapInternal = array("sysop","bureaucrat","user","wiki restricted");

## Enable TLS security

$wgWinLDAPUseTLS = false;

## Enable nested group searching, may delay login.

$wgWinLDAPGroupNested = true;

## Debug

$wgWinLDAPDebug = true;

$wgWinLDAPDebugLogFile = "c:/inetpub/temp/ldap_debug.txt";

Das MediaWiki läuft auf dem IIS6 (W2003) mit der gewünschten MySQL-DB und dem gewünschten PHP. Soweit alles wunderbar. Grundsätzlich funktioniert es ja.

Der Anspruch ist jedoch, dass das Wiki als Portal per Single Sign On genutzt wird. Jeder User soll an Hand seiner Login-Credentials von Windows direkt am Wiki authentifiziert werden.

## PHP SERVER VAR which contains the authenticated IIS user id TESTDOMAIN\TESTUSER

$wgWinLDAPGCServerValue = $_SERVER['REMOTE_USER'];

Hier hänge ich momentan, ändere ich $_SERVER kennt er die Variable nicht. Belasse ich sie, funktioniert das SSO nicht.

Hat jemand eine Idee?

Gruß,

beevizz

Link zu diesem Kommentar
Auf anderen Seiten teilen

sorry, dadurch, dass ich ja leute angesprochen haben, die vielleicht schon erfahrungen damit gemacht haben, hab ich wahrscheinlich zu sehr an infos gespart :)

$wgWinLDAPGCServerValue = $_SERVER['REMOTE_USER'];

geändert werden soll wohl sowohl "$_Server" in den server namen ad-servers und "'REMOTE_USER'" in einen Benutzernamen mit xxx-Rechten.

Was ich erst zitiert habe, ist der ganze teil des sso-plugins, wo die infos (ort, nutzer mit leserechten, zu durchsuchende ebenen...) über das ldap (in meinem fall ein MS AD) eingetragen werden sollen.

und in bezug auf die zeile bekomme ich den error, die variable "_SERVER" (hier ohne das "$") sei unbekannt.

Link zu diesem Kommentar
Auf anderen Seiten teilen

$wgWinLDAPGCServerValue = $_SERVER['REMOTE_USER'];

Die Variable $_SERVER['REMOTE_USER'] ist eine vorgegebene Variable von PHP. Normalerweise enthält sich den aktuell am PC angemeldeten Benutzernamen in Form von domäne.local\accountname. Wenn jetzt da aus irgendwelchen Gründen nichts drin steht, dann wird das SSO auch nicht funktionieren.

Also nochmal: Welchen Wert besitzt die Variable $_SERVER['REMOTE_USER'] bzw. $wgWinLDAPGCServerValue beim Aufruf des Skriptes?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich bin an der Stelle das erste mal darauf gestoßen. Später kommt es...

// Submit a fake login form to authenticate the user.

$username = $wgWinLDAPGCServerValue;

$params = new FauxRequest(array(

'wpName' => $username,

'wpPassword' => '',

'wpDomain' => '',

'wpRemember' => ''

));

hier...

// Extract username and domain from specified server VAR

$temp = strtolower(str_replace('\\', ':', $wgWinLDAPGCServerValue));

$pos = strpos($temp, ":");

$NTLMusername = substr($temp, $pos + 1);

$NTLMdomain = substr($temp, 0, $pos);

Und hier nochmal vor.

Habe gestern noch länger daran gehangen und in einem Thread zu der Extension die Aussage gefunden, da müsse nichts eingetragen werden.

Es schien auch weiter durchgelaufen zu sein, als vorher. Bekomme nun folgenden Error:

Unexpected authentication failure.
der wohl hierrauf basiert:
// Authenticate user data will automatically create new users.

$loginForm = new LoginForm($params);

$result = $loginForm->authenticateUserData();

if ($result != LoginForm::SUCCESS) {

error_log('Unexpected authentication failure.');

return;

}

Hier mal der Link zu der ganzen Extension: Extension:Windows NTLM LDAP Auto Auth - MediaWiki

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...