Bonsoir <u><strong>tribal</strong></u>.
Il y a une chose que je ne comprend pas.
Soit tu t'es trompé dans tes commentaires ou alors dans ta logique, car en commentaire tu dis
//si l'utilisateur est connecter
donc dans le cas ou l'utilisateur est connecté, alors que dans la logique
!$this->Auth->loggedIn()
, tu vérifies donc si l'utilisateur n'est pas connecté.
Ensuite dans ta logique, je ne vois pas à quel moment tu le connecte l'utilisateur, car même quand tu vérifies si l'utilisateur n'est pas connecté et s'il a le Cookie de connexion persistante, tu ne fais aucune action pour le connecter par la suite.
Pour terminer, je ne comprends pas pourquoi tu veux déconnecter un utilisateur alors qu'il n'est pas connecté dans ton :
if ($user && !$this->Auth->login($user'User'])) {
$this->redirect(array('action'=>'logout','controller'=>'users'));
}
.Ce n'est pas logique de vouloir déconnecter un utilisateur s'il n'est même pas connecté.
Pour conclure, ça ne sert à rien de vouloir déclarer à nouveau le composant Auth, alors que tu l'as déjà déclaré dans le AppController et que tu t'y trouve en plus.
Tu as du faire une erreur autre part où tu as appelé le composant Auth.