Bonjour.
J'ai développé un petit bundle pour gérer mes administrateurs et là je me penche sur leur connexion. Comme le bundle SecurityBundle le fait déjà pour nous j'ai essayé de m'en servir. Mais ça ne fonctionne pas tout à fait.
J'ai donc mis en place mon propre SecurityBundle avec la classe pour se connecter :
Dans mon routeur j'ai les bonnes routes et dans le fichiers security.yml j'ai ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 <?php namespace Projet\SecurityBundle\Controller; use Symfony\Bundle\FrameworkBundle\Controller\Controller; use Symfony\Component\Security\Core\SecurityContext; class SecurityController extends Controller { public function loginAction() { $request = $this->getRequest(); $session = $request->getSession(); // get the login error if there is one if ($request->attributes->has(SecurityContext::AUTHENTICATION_ERROR)) { $error = $request->attributes->get(SecurityContext::AUTHENTICATION_ERROR); } else { $error = $session->get(SecurityContext::AUTHENTICATION_ERROR); $session->remove(SecurityContext::AUTHENTICATION_ERROR); } return $this->render('ProjetSecurityBundle:Security:login.html.twig', array( // last username entered by the user 'last_username' => $session->get(SecurityContext::LAST_USERNAME), 'error' => $error, )); } }
Ça me semble bon.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 form_login: # On définit notre méthode d'authentification provider: administrators # On lit l'authentification au provider définit plus haut remember_me: true # On active la possibilité du "Se souvenir de moi" (désactivé par défaut) check_path: /login_check login_path: /login always_use_default_target_path: true default_target_path: /admin/
Si je poste le formulaire de connexion il me marque effectivement le message "Bad credentials". Par contre si le identifiants sont OK il me redirige bien vers /admin/ mais en bas dans la barre pour les développeurs il y a marqué que je ne suis pas connecté ...
Pourtant il semblerait que je sois connecté car j'ai mis mon anonymous à false. Je suis dirigé vers le login, je me connecte et du coup je ne suis plus redirigé vers le login. Mais la barre de développement me marque pas que je suis loggé.
Des idées ?
Partager