Wikiraum

Benutzer-Werkzeuge

Webseiten-Werkzeuge


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
ldap:session [2015/06/24 10:24]
mccab99 [Funktion für das Handling der Session gegen LDAP]
ldap:session [2018/11/17 10:52] (aktuell)
Zeile 78: Zeile 78:
 <file php ldap_session.php>​ <file php ldap_session.php>​
 function check_auth_ldap ($ldapOptionsServer) { function check_auth_ldap ($ldapOptionsServer) {
 +
 +  // check for inputs or running session
  
   if (!($_POST['​username'​] && $_POST['​password'​] && !isset($_SESSION)) {   if (!($_POST['​username'​] && $_POST['​password'​] && !isset($_SESSION)) {
Zeile 94: Zeile 96:
   if (!isset($_SESSION)) session_start();​   if (!isset($_SESSION)) session_start();​
  
 +  // if session is not empty, not timed out or not requested to be closed make a new one
 +  ​
   if (!empty($_SESSION['​lastactivity'​]) && $_SESSION['​lastactivity'​] > time() - $sessionTimeoutSecs && !isset($_GET['​logout'​])) {   if (!empty($_SESSION['​lastactivity'​]) && $_SESSION['​lastactivity'​] > time() - $sessionTimeoutSecs && !isset($_GET['​logout'​])) {
  
Zeile 111: Zeile 115:
     $ds = ldap_connect($ldapServer,​ $ldapPort);     $ds = ldap_connect($ldapServer,​ $ldapPort);
     ldap_set_option($ds,​ LDAP_OPT_PROTOCOL_VERSION,​ 3);     ldap_set_option($ds,​ LDAP_OPT_PROTOCOL_VERSION,​ 3);
 +
 +    // refresh timeout or close session if timeout is reached
  
     if (ldap_bind($ds,​ $binddn, $_SESSION['​password'​])) {     if (ldap_bind($ds,​ $binddn, $_SESSION['​password'​])) {