Page 1 sur 1

Déconnexion à distance

Publié : 26 sept. 2021, 14:50
par ManuelFV
Bonjour, il m'arrive souvent de travailler sur l'Agora depuis deux endroits différents et d'oublier de me déconnecter de l'un, m'empêchant alors de me connecter depuis l'autre.
Serait-il possible d'ajouter la possibilité de déconnecter à distance les utilisateurs connectés ?

Merci

Re: Déconnexion à distance

Publié : 01 oct. 2021, 06:19
par Arverniales
Pour ma part, j'ai ajouté un time out de session à notre instance :

Code : Tout sélectionner

 /app/Common/Ctrl.php 
ajout fonction l31
	public static function poseCookie($nam,$val="",$exp=1)
	{
		$arr = array (
	   	"expires" => $exp,
	   	"secure" => true,
	   	"httponly" => true, 
	   	"samesite" => "Strict"
		);
	//	return setcookie($nam,$val,$arr);
	   	return setcookie($nam,$val, $exp, "", "", true, true); 
	}

ligne 57
			self::poseCookie("AGORAP_LOG");			
			self::poseCookie("AGORAP_PASS");			
			self::poseCookie("AGORAP_TMO");			

fonction userConnectionSpaceSelection
ligne 278
		if(self::$curUser->isUser()) {
			if (empty($_COOKIE["AGORAP_TMO"]))   {self::notify("NOTIF_timeoutinactivite"); self::redir("?disconnect=1");}
		}
		elseif($connectViaForm==true || $connectViaCookie==true)

ligne 314
			if(Req::isParam("rememberMe")){
				self::poseCookie("AGORAP_LOG", $login, time()+315360000);
				self::poseCookie("AGORAP_PASS", $passwordSha1, time()+315360000);
			}
			self::poseCookie("AGORAP_TMO", "ok", time()+SESSION_TIMEOUT);
		}

ajout fin de la fonction l372
		// timeout d'inactivité à 60mn
		self::poseCookie("AGORAP_TMO", "ok", time()+SESSION_TIMEOUT);


/app/Commons/Params.php
ligne 19 ajout
define("SESSION_TIMEOUT",3600);

traductions
ligne 371 ajout
		self::$trad["NOTIF_timeoutinactivite"]="Your session was closed due to too long inactivity";
		self::$trad["NOTIF_timeoutinactivite"]="Tu sesión fue cerrada debido a una inactividad demasiado larga.";
		self::$trad["NOTIF_timeoutinactivite"]="Votre session a été fermée à cause d'une trop longue inactivité";