2010-05-25 6 views
5

J'ai besoin d'un système de déconnexion automatique dans mon application.Comment réaliser la déconnexion automatique en PHP?

Si l'utilisateur n'utilise pas l'application plus de trente minutes, il doit se reconnecter.

c'est ce dont j'ai besoin. LastAccessTime doit durer moins de 30 minutes. Si lastAccessTime dépasse 30 minutes, l'utilisateur doit se reconnecter avec ses informations d'identification.

(log auto actuellement i off en utilisant le terrain LastAccessTime dans ma table d'utilisateur (base de données) et comparer les LastAccessTime avec le temps actuel pour chaque chargement de la page, je ne pense pas que ce soit la bonne façon.)

est leur toute façon de atteindre? Merci d'avance.

Répondre

7

Vous devez spécifier la durée de la session et il suffit d'utiliser la $_SESSION pour voir si un utilisateur est connecté:

ini_set('session.cookie_lifetime',(60*30)); // 60 seconds times 30 = 30 minutes 
+0

Ne serait-ce log aussi hors d'un utilisateur actif après 30 minutes ? –

+4

Non, chaque fois qu'un utilisateur actif visite la page, le cookie est réinitialisé. – Konerak

+2

Non, chaque requête réinitialise le cookie et redémarre le minuteur. – Amadan

3

Si vous utilisez des cookies pour garder les utilisateurs connectés, il suffit de définir un TTL adéquat pour elle .

Pendant un certain temps d'expiration de 30 minutes, lors de la connexion mis le cookie ainsi:

setcookie($COOKIE_NAME, $COOKIE_VALUE, time() + 60 * 30); 

Sinon, vous pouvez utiliser session_set_cookie_params

session_set_cookie_params(60 * 30); // takes lifetime as first argument 
Questions connexes