Bonjour,

Voila je rencontre un petit problème avec mon code.
je utilise la deconnexion manuelle et voici ma méthode

public function deconnexion(){

Auth::logout();

 return redirect('/');

}
le problem : lors je click sur la bouton 'retour page précédente' j'obtient la derniere vue mais j'aimerai retourner
la pages '/'

14 réponses


Salut,

Ce n'est pas très explicite. 'retour page précédente'est un bouton/lien sur ta page ou le bouton de page précédente du navigateur ?

riki rik
Auteur

c'est le bouton du navigateur

Tu utilise un framework ?
Es-tu sur que ta session est vidée lors de la déconnexion ?

riki rik
Auteur

wi lors lors de la deconnexion ma session est vide mais je retourn la darniere vu est si j'actualise j'iobtient une erreure qui indique que j'ai un objet vide

C'est normal c'est le cache de ton navigateur qui affiche les dernieres pages visitées, cependant aucune action n'est possible puisque tu es deconnecté.

riki rik
Auteur

c'est vrai est ce que il ya une solution pour qu'il rest sur la page de login toujours ?

A ma connaissance non

riki rik
Auteur

merci de votre aide

Attend j'ai peut-être une idée
Essaye d'ajouter : onunload="" comme attribut à ton body

riki rik
Auteur

OK je vais essayer

riki rik
Auteur

le meme probleme

Et donc tu utilises un framework ou pas ???

Manifestement oui, Auth::logout est propre à Laravel.

Une solution simple serait de stocker en session la page visitée par l'utilisateur (hormis pour la page déconnexion bien sûr), et de rediriger sur la page gardée en session, je parle de session native php pour le coup.

@SquallX Ouaip je sais, mais il a peut être créé une classe statique avant le même nom (on ne sait jamais ^^).

Après je crois qu'il veut, lorsque l'user s'est déco, que celui-ci soit redirigé vers la page d'accueil s'il clique sur le bouton précédent du navigateur.

Pour ça il faut simpletement ajouter le middleware 'web' (ou 'auth tout dépendra de la version de Laravel utilisé) aux routes nécessitant une authentification, et préciser que si l'user n'est pas connecté alors il est redirigé vers la page d'accueil, point.
Mais le problème de session me paraît étonnant en cela que Laravel gère automatiquement (et très bien) les sessions normalement.