Je pense que le mieux serait de configurer vous ajax appeler pour répondre correctement à une réponse non valide. Comme il semble être une partie importante de votre application, je passerais une variable 'loggedin' avec chaque requête ajax, afin que le client puisse le dire dès que l'utilisateur a été déconnecté.
Mise à jour
Dans le cas où vous voulez garder un utilisateur connecté, il vous suffit de mettre le connecté/contrôle des cookies dans quelque chose comme votre AppController::beforeFilter()
qui obtient exécuté avec chaque demande. par exemple:
public function beforeFilter() {
if($this->Auth->user() {
// USer is logged in, it's all gravy
} else {
// User is not logged in, try to log them in
$userData = $this->Cookie->read('User');
if(!empty($userData)) {
// Function that grabs info from cookie and logs in user
}
}
}
De cette façon, il n'y aura pas de redirection que l'utilisateur sera connecté tant qu'ils ont un cookie.
Mais je ne veux pas que l'utilisateur doive se reconnecter, j'ai une fonction de connexion automatique avec des informations cookie. Je veux que lorsque l'appel AJAX est fait, ce CakePHP vérifie si l'utilisateur est connecté et reconnecte automatiquement hif s'il ne l'est pas. –
@ Sébastien voir ma mise à jour. – Dunhamzzz
Ok, merci pour ça. Mais sachez que si un utilisateur "jamais connecté" se trouve dans une page publique et déclenche un événement AJAX nécessitant une connexion, il y aura une redirection vers la page de connexion dans cette méthode (pour l'appel non-ajax)). Ainsi, le retour AJAX sera vide (sans erreur); comment ne pas casser la méthode et faire une "pseudo-redirection" pour que la page de connexion soit renvoyée à l'appel AJAX? –