Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Nächste ÜberarbeitungBeide Seiten der Revision
de:shibslohttpd:helperscripts [2015/12/09 08:58] – [logoutnotify.php] Schreiterer, Frankde:shibslohttpd:helperscripts [2015/12/09 11:25] Schreiterer, Frank
Zeile 1: Zeile 1:
-====== Hilfsscripte ======+====== Hilfsskripte ======
  
 Alle hier aufgeführten Skripte sind beispielhaft und müssen ggf. angepasst werden. Alle hier aufgeführten Skripte sind beispielhaft und müssen ggf. angepasst werden.
Zeile 179: Zeile 179:
     // SessionID is stored in the user session data!     // SessionID is stored in the user session data!
          
-     
- //connection parameters to the shibcheckerdb 
- $dbDriver="mysql"; 
- $dbHost="localhost"; 
- $dbUser="shibuser"; 
- $dbPass="Password"; 
- $dbName="shibchecker"; 
- $dbPort="3306"; 
-  
  //connection parameters to memcached  //connection parameters to memcached
  $mcsrv="127.0.0.1";  $mcsrv="127.0.0.1";
  $mcport="11211";  $mcport="11211";
-  + 
- //mode memcached or DB + $mc=new Memcache; 
- $mode = "memcached"; + $mc->connect($mcsrv,$mcport); 
- #$mode = "DB"; + //get the application session id 
-  + $appsessionid = $mc->get($SessionID); 
- if ($mode == "DB") {     + //remove  
- //Remove the entry in shibchecker-DB and the aplication session         + $ret = $mc-> delete($SessionID); 
- try { + $ret = $mc-> delete($appsessionid); 
- $pdo = new PDO("$dbDriver:dbname=$dbName;host=$dbHost;port=$dbPort",$dbUser,$dbPass); + if ($appsessionid == false) { 
- //get the application session id + $appsessionid = "";
- $sqlappsess="Select appsessionid from appshibsession where shibsessionid='$SessionID'"; +
- $appsessionid = ""; +
- if ($res = $pdo->query($sqlappsess)) { +
- while ($row = $res->fetch(PDO::FETCH_ASSOC)) { +
- $appsessionid = $row['appsessionid']; +
-+
- }  +
- if ($appsessionid != "") {  +
- $sql="Delete from appshibsession where appsessionid='$appsessionid'"; +
- $pdo->query($sql);  +
- $pdo = NULL;  +
- }  +
- } catch (PDOExeption $e) {  +
- return new SoapFault('LogoutError', 'Database error.'); +
- }  +
- } elseif ($mode == "memcached") { +
- $mc=new Memcache; +
- $mc->connect($mcsrv,$mcport); +
- //get the application session id +
- $appsessionid = $mc->get($SessionID); +
- //remove  +
- $ret = $mc-> delete($SessionID); +
- $ret = $mc-> delete($appsessionid); +
- if ($appsessionid == false) { +
- $appsessionid = ""; +
- }+
  }  }
 +
  //Connect to the application session (PHP Session)  //Connect to the application session (PHP Session)
  session_id($appsessionid);  session_id($appsessionid);
  • Zuletzt geändert: vor 5 Jahren