AuthPlugin/de

Authentication plugin interface (dt. Authentifizierungs Erweiterungs Schnittstelle).

Exsistierende authentication plugins
There are existing authentication plugins for many cases like IMAP, LDAP and more. Category:User identity extensions lists these extensions.

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)

Instantiate a subclass of AuthPlugin and set $wgAuth to it to authenticate against some external source.

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
Speichere die Dateien im Erweiterungs Ordner, dann füge etwas ähnliches wie das Unterere zu LocalSettings.php hinzu.

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

Siehe auch

 * Extension:CentralAuth