AuthPlugin/de

Authentication plugin interface (dt. Authentifizierungs Erweiterungs Schnittstelle).

Exsistierende authentication plugins
Es gibt bereits verschiedene Authentication Plugins für viele verschiedene Anwendungsfälle; IMAP, LDAP und andere.Category:User identity extensions ist eine Liste dieser Erweiterungen.

Neue Authentication Plugins erstellen
Wenn du deine eigene Erweiterung schreibst, dann schau dir den Quellcode in der MediaWiki Dokumentation an (siehe auch: Der aktuelle Code)

Er stellen sie eine neue Instanz der Unterklasse AuthPlugin und setzten sie $wgAuth ein um es gegen externe Zugriffe einzurichten.

Die Standarteinstellung ist, nichts zu tun und einfach die lokale Nutzerdatenbank zur Identifizierung zu nutzen.Eine Unterklasse kann erzwingen, dass sich alle Accounts extern identifizieren oder die Nutzerdatenbank als Fallback nutzen. Außerdem kann man Wikiaccounts erstellen wenn sich jemand extern identifiziert.

Fall-back
Wie bereits erwähnt kann die Unterklasse auch die lokale Datenbank als Fall-back nutzen. Dies geschieht, wenn die "Strict" Methode false' zurückgibt. Das $wgUser object vergleicht dann das eingegebene Passwort mit der Datenbank.

Siehe auch: der Auszug aus includes/User.php für Deteils, die Methode checkPassword: if( $wgAuth->authenticate( $this->getName, $password ) ) { return true; } elseif( $wgAuth->strict ) { /* Das Authentication Plugin erlaubt keine lokale Identifizierung */ return false; } elseif( $wgAuth->strictUserAuth( $this->getName ) ) { /* Das Authentication Plugin erlaubt für diesen Benutzernamen keine lokale Identifizierung. */   return false; } if ( self::comparePasswords( $this->mPassword, $password, $this->mId ) ) { return true;

Es ist also möglich mit dem Authentication Plugin nur betimmten Benutzer die Identifizierung über die lokale Datenbank zu ermöglichen, indem man false bei strictUserAuth zurückgibt.

Anmerkungen

 * Der Benutzername wird von MediaWiki angepasst, befor er der Funktion übergeben wird: Der erste Buchstabe wird groß geschrieben, der Unterstrich '_' wird zum Lehrzeichen ' '.
 * Wenn autoCreate true zurückgibt (MediaWiki solllte einen lokalen Account für den Benutzer anlegen) updateExternalDB( $user ) wird auch aufgeruhfen. updateExternalDB muss true zurückgeben, damit MediaWiki die Einstellungen im lokalen Account speichert.
 * AuthPlugin->userExists(...) wird nicht aufgerufen, wenn der Benutzer schon in der Datenbank ist.

Installation
Put the files in the extensions folder (preferably a sub folder), than add something akin to the below to your LocalSettings.php

External Sessions
In order to check the login status against some external session management scheme, use the AutoAuthenticate hook (MediaWiki 1.5 - 1.12) or UserLoadFromSession (since MediaWiki 1.13). This can be used to implement a single-signon setup, in addition to simple account sharing.