Bonjour,
tout d'abord merci pour ce site !
voici mon problème:
j'utilise cakephp 2.4 sur un vps, je fais une authentification sans le composant auth, avec ce composant même problème, certaines fois
ma Session est perdu.
si user ok:
if (!empty($res)){
//-- creer session
$this->Session->write('UserId', $res'User']'id']);
ensuite dans mes pages:
if ($this->Session->check('UserId') == false){
return $this->redirect('/users/login');
}
j'ai cherché mais rien trouver qui marche, il est difficile de reproduire le problème, cela est aléatoire, en local pas de problème.
Une autre chose après logout:
public function logout(){
$this->Session->destroy();
$this->Session->delete('UserId');
$this->Session->setFlash("Déconnexion réussie !",
'flash',
array('class' => 'succes-redirect'));
$url = array('controller' => 'users', 'action' => 'index');
$this->header("refresh:1; url='".Router::url( $url )."'");
}
je peux encore voir les infos comme ci j'étais toujours connecté, si je reviens dans mon espace membre sur une page, il faut que j'actualise cette page pour revenir à la page login alors que je suis déconnecté.
Je pense que cela vient du cache du navigateur, pour éviter ce problème sous firefox je met 'ne jamais conserver l'historique".
Je suis en http pas de https.
Merci de votre aide.
Olivier
Bonjour à tous,
voila mon problème est résolu cela venait du ssl qui poser problème au niveau des sessions.
J'en ai profiter pour mettre la dernière version 2.4.5 tout fonctionne correctement.
bonne journée et merci
Bonsoir.
Pour utiliser l'authentification sur CakePHP, il est indispensable d'utiliser le composant Auth.
Ensuite,
$this->Session->write()
ne permet pas de créer une session, mais d'écrire une variable dans la session.
Bonjour,
dans mon cas je n'utilise pas le composant Auth, j'utilise le composant Session.
App::uses('Controller', 'Controller');
class AppController extends Controller {
public $components = array('Session', 'Cookie');
donc la session est bien crée.
merci
Olivier
Bonjour.
Tu ne comprends pas que tu as besoin des deux, tant pis pour toi.
Regardes bien le chapitre sur l'authentification et tu comprendras mieux.
merci Lartak11 j'avais pas compris.
j'ajoute le Auth avec Allow() comme je ne l'utilise pas
Olivier
Bonjour à tous,
après l'ajout de Auth, toujours le même bug qui apparait rarement.
Difficile de débugger ce problème qui est aléatoire.
Je vous tiens au courant si je trouve une solution
Déjà, si tu utilisais le composant auth pour la connexion et la déconnexion, je pense que tu n'aurais aucun problème et tu aurais moins de codes dans les deux fonctions à écrire.
j'ai utilisé ce composant au début, mais quand j'ai rencontré ce bug j'ai fait la modification.
Je viens de désactiver le ssl sur mon serveur, j'attends de voir si le bug se reproduit.
Merci Lartak11