BeSimple / BeSimpleSsoAuthBundle

NOT MAINTAINED - SSO authentication providers (Cas for now) for Symfony2
125 stars 74 forks source link

Problème de redirection #78

Closed dbuton closed 6 years ago

dbuton commented 10 years ago

Bonjour,

J'ai installé ce bundle et après maintes péripétie, tout à l'air de fonctionner. Au moment du login, cela vérifie bien la présence du token, cela récupère mon user, le set en session mais au moment de la redirection à ma home page que j'ai configuré dans le security.yml dans le target_path, je suis bien redirigé mais dans une nouvelle session. Donc je perd mon authentification. La reponse retournée par :

$response = $this->successHandler->onAuthenticationSuccess($request, $token); Est une 302 de redirection. Es ce normal? Quelqu'un a déjà eu ce cas là? ou aurait une idée?

Merci par avance pour vos réponse car cela fait déjà un moment que je planche sur le sujet.

waldo2188 commented 9 years ago

Salut, je ne sais pas si tu as déjà résolut ton problème, mais ce genre de chose m'es arrivé plusieurs fois... (à chaque fois j'ai oublié la solution :-/ )

Pour ma part cela venait du faite que la classe d'utilisateur doit absolument intégré l'interface suivante : \Symfony\Component\Security\Core\User\UserInterface et surtout la méthode isEqualTo

Pour ma par, la mienne donne quelque chose dans ce genre :

public function isEqualTo(\Symfony\Component\Security\Core\User\UserInterface $user) {
    return $user->getUsername() === $this->getUsername();
}

Cette méthode permet de vérifier si deux utilisateurs sont égaux, et vue que le CAS retourne un username, c'est la dessus que doit se faire la comparaison.

dbuton commented 6 years ago

Alors ma réponse vient encore plus tardivement mais dans mon souvenir cela venait d'un problème de droit dans l'écriture de la session. Du coup, la session n'était pas récupérable une fois l'authentification réussit donc Symfony en créait une nouvelle en mode anonyme, du coup cela bouclait.