Einsatzleiterwiki

Das elektronische Einsatzleiterhandbuch

Benutzer-Werkzeuge

Webseiten-Werkzeuge


wiki:hilfe:installation_anpassung_joomla_bridge

Auf dieser Seite sehen Sie die schreibgeschützte und geprüfte Version eines Artikels aus dem Einsatzleiterwiki-Projekt. Wenn Sie einen Artikel bearbeiten bzw. am Projekt aktiv mitarbeiten möchten, so besuchen Sie bitte das bearbeitbare Wiki. Für weitere Informationen zum Projekt allgemein rufen Sie bitte diese Seite auf.

Dies ist eine alte Version des Dokuments!


Verwendung der Benutzer einer vorhandenen Joomla-Installation

Achtung! Die Verbindung zwischen Joomla und DokuWiki bzw. dem Einsatzleiterwiki ist bis dato nur bis Joomla 1.5 möglich. Für neuere Joomla-Versionen existiert noch keine Lösung.

Falls Sie bereits das beliebte CMS Joomla einsetzen und die Benutzer nicht im Einsatzleiterwiki neu anlegen möchten, besteht die Möglichkeit, anstatt der Benutzerverwaltung des Wikis die Datenbank von Joomla zu benutzen. Dies ist in der beschriebenen Form für Joomla ab Version 1.5 möglich. Installieren Sie dafür das Wiki wie in der Anleitung beschrieben und führen Sie danach die hier genannten Schritte durch:

Die Einrichtung ist recht unkompliziert; laden Sie durch einen Klick auf das PHP-Symbol bzw. den Dateinamen die folgende Datei herunter und speichern Sie diese in den Unterordner inc/auth/ Ihrer Einsatzleiterwiki-Installation.

joomla.class.php
<?php
/**
 * auth/joomla.class.php
 *
 * @author    Nicolas Ruflin <dev@ruflin.com>
 */
 
class auth_joomla extends auth_basic {
 
	function auth_joomla() {
	    global $conf;
	    $conf['superuser'] = "admin"; //hier den Usernamen des Admins eintragen
 
	    include_once("/pfad/auf/dem/webserver/joomla/configuration.php");
 
		$configuration = new JConfig;
 
		$mosConfig_host = $configuration->host;
		$mosConfig_user = $configuration->user;
		$mosConfig_password = $configuration->password;
		$mosConfig_db = $configuration->db;
 
	    $conn = mysql_connect($mosConfig_host,$mosConfig_user,$mosConfig_password);
	    mysql_select_db($mosConfig_db, $conn);
	}
 
 
	function checkPass($user,$pass){
	  	$sql = "SELECT password FROM jos_users WHERE username = '$user'";
 
	  	$res = mysql_fetch_array(mysql_query($sql));
 
	    return $this->checkJoomlaPassword($pass,$res['password']);
	}
 
 
	/**
		checks the password with salt
	*/
	function checkJoomlaPassword($pass,$dbpass) {
 
		//Splittet den String auf
		list($hash, $salt) = explode(':', $dbpass);
 
		//setzt salt-wert mit dem eingegebenen Passwort zusammen und gibt den md5 Wert zurück
		$cryptpass = md5($pass.$salt);
 
		//überprüft ob Doppelpunkt vorhanden und vergleich hash-Wert mit den cryptpass
		if( (strpos($dbpass,':') == true) && $hash == $cryptpass) { 
			return true; 
		}
 
		return false;
	}
 
 
 
  /**
   * Returns info about the given user needs to contain
   * at least these fields:
   *
   * name string  full name of the user
   * mail string  email addres of the user
   * grps array   list of groups the user is in
   *
   * @return  array containing user data or false
   */
	function getUserData($user) {
		global $conf;
 
		if(isset($user) && $user == $conf['superuser']) {
			$groups = array("admin","user");
		}
		else {
			$groups = array("user");
		}
 
		$sql = "SELECT name, email FROM jos_users WHERE username = '$user' ;";
		$u = mysql_fetch_array(mysql_query($sql));
 
		if($u != null) {
			$email = $u['email'];
			$name = $u['name'];
		}
		else {
			$name = $user;
			$email = "";
		}
 
		$user = array('name' => $name, 'mail' => $email ,'grps' => $groups );
 
		return $user;	
  	}
}

Ändern Sie nun in der Datei die Zeile

	    $conf['superuser'] = "admin"; //hier den Usernamen des Admins eintragen

auf den Benutzernamen des Joomla-Benutzers ab, der der Administrator des Einsatzleiterwikis sein soll.

Außerdem muss der Pfad zur Joomla-Konfigurationsdatei configuration.php angegeben werden, dies kann absolut oder relativ geschehen (im Beispiel ist der Pfad absolut angegeben):

	    include_once("/pfad/auf/dem/webserver/joomla/configuration.php");

Als letztes muss nun noch in der Konfiguration des Wikis festgelegt werden, dass die Joomla-Benutzer verwendet werden sollen. Melden Sie sich dafür mit dem bei der Wiki-Installation festgelegten Administrator-Konto im Wiki an, klicken Sie oben rechts auf Admin und dann in der Mitte auf Konfiguration. Im Abschnitt Authentifizierungs-Konfiguration wählen Sie beim Punkt Authentifizierungsmechanismus aus der Liste den Eintrag joomla aus wie auf folgendem Bild zu sehen:

Joomla-Benutzer zur Authentifizierung nutzen

Gehen Sie nun ein Stück weiter, gegen Ende des Abschnitts Authentifizierungs-Konfiguration finden Sie einen Block Dokuwiki-Aktionen deaktivieren. Setzen Sie dort Haken bei Registrieren, Benutzerprofil und Sende neues Passwort:

Joomla-Aktionen deaktivieren

Nun ist die Einrichtung abgeschlossen und Ihre Nutzer sollten sich mit ihren Joomla-Zugangsdaten auch im Wiki anmelden können.

Hinweis:

Sollte aus welchen Gründen auch immer die Einrichtung fehlschlagen und Sie sich nicht mehr am Wiki anmelden können, so öffnen Sie einfach im Unterverzeichnis conf des Wikis die Datei local.php und löschen Sie die Zeile

$conf['authtype'] = 'joomla';

Dadurch wird wieder die Benutzerverwaltung des Wikis verwendet.

weiterführende Informationen

Wenn Sie Ihr Wiki im Internet betreiben, ist die korrekte Einrichtung der Nutzerrechte wichtig.

Diese Website verwendet Cookies. Durch die Nutzung der Website stimmen Sie dem Speichern von Cookies auf Ihrem Computer zu. Außerdem bestätigen Sie, dass Sie unsere Datenschutzbestimmungen gelesen und verstanden haben. Wenn Sie nicht einverstanden sind, verlassen Sie die Website.Weitere Information

Diskussion

Geben Sie Ihren Kommentar ein. Wiki-Syntax ist zugelassen:
 
wiki/hilfe/installation_anpassung_joomla_bridge.1445268731.txt.gz · Zuletzt geändert: 19.10.2015 15:32 von christoph_ziehr