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:21]
mccab99 [Mögliche Seite, die Login erfordert]
ldap:session [2018/11/17 10:52] (aktuell)
Zeile 79: Zeile 79:
 function check_auth_ldap ($ldapOptionsServer) { function check_auth_ldap ($ldapOptionsServer) {
  
-  if (!($_POST['​username'​] && $_POST['​password'​])) {+  ​// check for inputs or running session 
 + 
 +  ​if (!($_POST['​username'​] && $_POST['​password'​] ​&& !isset($_SESSION)) {
  
  header("​Location:​ login.php?​failure=6"​);​  header("​Location:​ login.php?​failure=6"​);​
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'​])) {