Home       Servicebereich  Projekte  Kontakt  

OXSession


Die freie Groupwarelösung OPEN-XCHANGE (bzw. die kommerzielle Lösung OpenExchange) verwaltet die Sessions mit Hilfe eines speziellen Session Daemons. Der Daemon kann mit einem relativ einfachen Protokoll auch von anderen Applikationen angesprochen werden.

Mit Hilfe der hier vorgestellten PHP4 Klasse (OXSession.php) kann die Sessionverwaltung von PHP Applikationen und Open-Xchange (oder OpenExchange) miteinander verschmolzen werden. Auf diese Weise ist es möglich eine gemeinsame Session-ID für die PHP Applikation und die Groupware zu implementieren.

Mit Hilfe der gemeinsamen Session-ID kann sehr einfach eine Single-Sign-On Lösung für die einzelnen Applikationen eines Intranets implementiert werden.

Beispiele

Login und Initialisierung einer Session

  require 'OXSession.php';

  // Host and port of the sessiond from Open-Xchange
  $host = '127.0.0.1';
  $port = '33333';

  $OXd = new OXSessiond($host,$port);

  // Create a new new PHP and Open-Xchange session
  $OXs = $OXd->login($login,$pass,'192.168.2.13','ox.lw-systems.de');

  // redirect to OX if successful
  if ($OXs) {
    header('Location: '.$OXs->weburi);
  }
  else {
    echo "Login failed.";
  }

Daten einer Session ermitteln

  require 'OXSession.php';

  // Host and port of the sessiond from Open-Xchange
  $host = '127.0.0.1';
  $port = '33333';

  // aktuelle Session ID ermitteln
  $SID = session_id();

  $OXd = new OXSessiond($host,$port);

  // fetch a OXSession object
  $OXs = $OXd->getSession($SID);

  // print login name and cleartext(!) password
  echo "Login: ".$OXs->login."<br>\n";
  echo "Password: ".$OXs->password."<br>\n";

Von OX und der PHP Applikation abmelden

  require 'OXSession.php';

  // Host and port of the sessiond from Open-Xchange
  $host = '127.0.0.1';
  $port = '33333';

  $OXd = new OXSessiond($host,$port);
  $OXd->logout($_GET['SID'];


< zurück