MediaWiki: Umleitung von Hauptseite auf Anmeldung erzwingen

MediaWiki ist nicht zuletzt durch die Wikipedia das meist eingesetzteste Wiki-System im Netz. Auch für nicht öffentliche Zwecke, wie zum Beispiel für das Wissensmanagement in Firmen, werden Wikis gerne genutzt. Dafür ist es unerlässlich, das die Informationen nur angemeldeten Nutzern zugänglich ist.

Screenshot MediaWiki

MediaWiki bietet natürlich ein ausgefeiltes System von Rollen und Rechte und kann solchen Anforderungen problemlos gerecht werden. Allerdings gehört es zu den Eigenarten dieser Wiki-Software, daß die Hauptseite auch für unangemeldete Betrachter einsehbar ist. Dies läßt sich standardmäßig auch nicht abschalten. Will man das umgehen, weil zum Beispiel auf der Hauptseite schon unternehemensrelevante Informationen vorgehalten werden sollen, hilft ein Header-Redirect zur Anmeldung, wenn der Nutzer noch nicht angemeldet ist.

Der Vorteil bei diesem Vorgehen: Es ist schlicht und wirkungsvoll und kommt ohne Plugins oder größere Eingriffe in den Quelltext aus. Einziger Nachteil: In jede verwendete Skindatei muß ein kleiner Code-Schnipsel eingefügt werden.

Hier die nötigen Schritte im Einzelnen:

  1. Öffne alle .php-Dateien unter http://[meinwiki.tld]/skins/ in einem Texteditor
  2. Kopiere in jede .php-Datei hinter die Abfrage:
    if( !defined( 'MEDIAWIKI' ) ) {
    	die( -1 );
    }

    Den Code-Schnipsel:

    // Anmeldung erzwingen ohne Hauptseite zu zeigen >>>
    global $wgUser;
    if(!$wgUser->isLoggedIn() AND $_GET["title"]!="Special:Userlogin" AND $_GET["title"]!="Spezial:Anmelden")
    	{
    	header("Location: http://[meinwiki.tld]/index.php?title=Special:Userlogin&returnto=Hauptseite");
    	}
    // <<< Anmeldung erzwingen ohne Hauptseite zu zeigen
  3. Speichere alle .php-Dateien wieder unter http://[meinwiki.tld]/skins/
  4. Browser-Cache & Cookies löschen und Wiki neuladen.
  5. Fertig!

Diese Lösung ist eine Kombination von Informationen, die ich den Foren gossamer-threads.com und stackoverflow.com entnommen habe. Weiter Hinweise rund um die Themen „Redirect” und „User Authentication” finden sich ebenfalls dort.

02. Februar 2013 von BrankoCanak
Kategorien: Code-Schnipsel, Technik, Tips & Tricks | Schreibe einen Kommentar

Schreibe einen Kommentar

Pflichtfelder sind mit * markiert