Bonjour.
Pour commencer, pourquoi est-ce que tu fais la configuration du Composant Cookie coorespondant à la clé User à chaque fois que tu l'utilise, alors que la configuration est la même les deux fois ?
Il te suffirait de faire la configuration une seule fois dans l'AppController quand tu charges le composant par exemple.
Ensuite, dans ton beforeFilter, tu regardes si le cookie existe, mais avant de vérifier si l'utilisateur est connecté tu utilises le composant Auth, après avoir vérifié si le cookie existe, tu devrais vérifier si l'utilisateur est connecté avant d'utiliser les informations que pourraient te fournir le composant Auth et puis vu que tu part du principe que l'utilisateur est connecté s'il à le cookie, pourquoi est-ce que tu réécris sur le cookie alors qu'il existe déja ?
Bonjour,
Voila je rencontre un petit problème avec mon code.
Ce que je fais
Je veux mettre en place un système de Cookies qui permet à mes utilisateurs, lorsqu'ils cochent la cas "Remember Me" de ne pas devoir se reconnecter à chaque nouvelle session.
Voici le code de ma fonction login dans l'UsersController :
Voici le code dans ma fonction beforeFilter dans l'AppController :
Ce que je veux
En fait, le cookie se crée bien, pas de soucis. Lorsque je clique sur logout, il se détruit bien, kusque là je suis content.
Par contre, lorsque je ferme Firefox et reviens sur ma page, le cookie a disparu. Je ne comprends pas très bien d'où vient mon erreur.
Ca fait une heure que je regarde mais je ne vois rien. Any idea ?
En fait, dès que j'affiche la page de login, il me crée le cookie... mais comme il ne connait pas $this->Auth->user('id') au chargement de la page, il crée un "mauvais" cookie.
Je dois avoir mis quelque chose dans le mauvais sens..
2 réponses
Bonjour Lartak,
Merci pour ta réponse et de tes suggestions.
J'ai fais les changements suggérés --> Cookie User définit une seule fois dans l'AppController.
Concernant le deuxième point, c'est un peu une histoire d'oeuf ou de la poule et je ne vois pas très bien comment vérifier si l'utilisateur est connecté avant d'utiliser le composant Auth.
Concernant le dernier point, je réécris le cookie pour le réinitionaliser, l'écraser. Ainsi, si l'utilisateur se reconnecte avant les 10 jours de délais, le délais est rallongés. Comme ça, même après les 10 jours définis de base, l'utilisateur peut rester connecté plus longtemps. Cela me semblait intéressant.
Bref, là, je bloque. Je vais laisser décanter ça et y revenir dans quelques jours.
Merci.