Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

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

Eigentlich ist ja "$wgWinLDAPGCServerValue = $_SERVER['REMOTE_USER']; " gesetzt.

Hier soll aber etwas geändert werden und ich weiß nicht was...

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.

es muss wohl nur REMOTE_USER geändert werden.

$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?

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

dann schau einfach mal was dein debug-log sagt.

das sollte es ja geben. hier gabs auch mal nen thread zu nem anderen LDAP-Auth-plugin für mw (das nutze ich produktiv und klappt wunderbar).

Dort steht nur "Debug : Connecting to GC server.domain.test.com" (natürlich mit unserem Server und Domain)

nein, leider nichts weiter.

daher habe ich die sache mit mediawiki auch drangegeben und dekiwiki benutzt. klappt einwandfrei!

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.