MediaWikiAuthTool

Aus Geoinformation HSR
Wechseln zu: Navigation, Suche
  • Ubersicht

Das MediaWikiAuthTool ist eine MediaWiki-Erweiterung, welche es einer anderen Applikation, welche auf einem beliebigen andern Server (Client-Side) läuft, user an der MediaWiki-Datenbank (Server-Side) zu Authentisiern. Das heisst für diese andere Applikation muss keine Userverwaltung implementiert werden und es könne alle schon bestehenden User von der MediaWiki-Datenbank verwendet werden.

Das Tool besteht auf einer Server- sowie einer Client-Side. Beides sind zwei kleine PHP Anwendungen welche (Server) auf dem MediaWiki-Server und (Client) auf einem beiliebigen anderen Server läuft. Die folgenden beiden Abschnitte beschreiben die beiden Sides.

  • Server-Side

Um den Server zu installieren, müssen die dateien der Server-Applikation in ein beliebiges Verzeichnis des Webservers das Machine, auf welcher das MediaWiki läuft, kopiert werden (die Datei aut.php muss von aussen via http erreichbar sein). Die Konfiguration des Server geschieht im Config file class/Config.php. Darin kann der name des Datenbankservers ($dbServerName) der name der Datenbank ($dbName) Datenbank-Username ($dbUserName) und dessen Passwort ($dbPassword) konfiguriert werden. Es kann auch angegeben werden, ob die Passwörter "salted" sind. alle diese informationen findet man in der LocaleSettings.php Datei des MediaWikis (liegt im Hauptverzeichnis des MediaWikis). Da Server-Side-Debuging mühsam ist und man sonst nicht so viel Rückmeldung bekommt von der Server-Side, gibt es eine Logger-Komponnente. Im Config file kann der Log-Level eingestellt werden. Mögliche werte sind: ALL, ERROR, ACCESS oder NONE. ALL bedeutet ACCESS und ERROR. NONE heisst der logger ist ausgeschalten.

  • Client-Side

+stillt pending+

  • Client-Server Communication

Der Server und der Client kommunizeren miteinander über XML. Die Anfrage, welche der Client sendet sieht folgendermassen aus:

<?xml version="1.0" standalone="yes"?>

<ValidationRequest>

<UserName>aUserName</UserName>

<Password>usersPassword</Password>

</ValidationRequest>

Das Passwort wird UNVERSCHLÜSSELT übermittelt.


Die Antwort des Servers sieht folgendermassen aus:

<ValidationResult>

<successful>false</successful>

<message>An message</message>

</ValidationResult>

Der Tag <successful> enthält enweder den Wert "true" oder "false" welcher beschreibt ob die authentikation erfolgreich ist oder nicht.