Question

Je joue avec KO3 et le module Auth, j'ai des connexions qui fonctionnent assez bien, mais j'ai remarqué que chaque fois que je rafraîchis la page, le nombre de connexions pour mes incréments utilisateur.

Je suis à peu près sûr que cela vient de cette section.

// Check if logged in
if ($this->auth->logged_in())
{
    // Pass user to view
    $this->view->user = $this->auth->get_user(); // Here?
}
else
{
    // Attempt auto login
    $this->auth->auto_login();

    // Check if logged in
    if ($this->auth->logged_in())
    {
        // Pass user to view
        $this->view->user = $this->auth->get_user();
    }
}

Maintenant, je suis à peu près sûr que c'est la ligne où je passe l'objet utilisateur à la vue. La ligne a commenté avec // Here?.

Je me demandais simplement pourquoi cela augmenterait les connexions. J'ai vérifié la source et tout ce qu'il fait est de lire les variables de session.

ÉDITER

Je pensais que je l'avais fixé après l'avoir expliqué. Apparemment non. Je ne suis pas sûr que ce soit dû aux sessions, j'ai essayé d'utiliser les cours de cookie et de session à partir du repo GitHub, mais cela n'a fait aucune différence.

Je ne sais pas par où commencer à déboguer.

Était-ce utile?

La solution

Vous supervisez le fait que tout votre bloc d'autre est ambigu, car un seul appel à auth_orm :: logged_in () provoque ce qui suit:

Auth_ORM::logged_in() 
-> Auth_ORM::get_user() 
-> Auth_ORM::auto_login()
-> Auth_ORM::complete_login()
-> Model_Auth_User::complete_login()

Donc, votre code ferait pratiquement la même chose comme ceci:

// Check if logged in
if ($this->auth->logged_in())
{
    // Pass user to view
    $this->view->user = $this->auth->get_user();
}

Et Model_Auth_User::complete_login() c'est là que le nombre de connexions est incrémenté.

Votre problème est que Auth_ORM::auto_login() est toujours appelé (soit à cause d'un pebkac ou de votre session n'est pas OK), la définition d'un nouveau jeton au lieu d'enregistrer l'objet utilisateur en session.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top