Bonjour,
Je viens vers vous, car je suis bloquer sur un formulaire de connexion. Quoi que je saisie, j'ai toujours le message "Bad credentials" Hors dans ma base de données. J'ai bien des valeurs. Et je ne trouve pas mon erreur si quelqu'un peut m'éclairer.
Mon controller:Entity:
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49 <?php namespace test\FrontBundle\Controller; use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template; use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; use Symfony\Bundle\FrameworkBundle\Controller\Controller; use Symfony\Component\Security\Core\SecurityContext; class LoginController extends Controller { /** * @Route("/login", name="_security_login") * @Template() */ public function loginAction() { // ON récupère les erreurs d'authentification si le formulaire a été passé avec de mauvaises informations if ($this->get('request')->attributes->has(SecurityContext::AUTHENTICATION_ERROR)) { $error = $this->get('request')->attributes->get(SecurityContext::AUTHENTICATION_ERROR); } else { $error = $this->get('request')->getSession()->get(SecurityContext::AUTHENTICATION_ERROR); } return $this->render('testFrontBundle:Login:login.html.twig', array( // On envoie à notre vue le login qu'a saisi l'utilisateur précédemment 'dernier_utilisateur' => $this->get('request')->getSession()->get(SecurityContext::LAST_USERNAME), // Et les erreurs qu'il y a eut lors de la validation du formulaire 'erreur' => $error, )); } /** * @Route("/login_check", name="/login_check") */ public function loginCheckAction(){ return true; } /** * @Route("logout") */ public function logoutAction(){ } } ?>
Le routing:
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63 <?php namespace test\FrontBundle\Entity; use Doctrine\ORM\Mapping as ORM; use Symfony\Component\Security\Core\User\UserInterface; /** * @ORM\Entity() */ class Utilisateur implements UserInterface { /** * @ORM\Column(name="id", type="integer") * @ORM\Id * @ORM\GeneratedValue(strategy="AUTO") */ private $id; /** * @ORM\Column(type="string",unique=true) */ private $username; /** * @ORM\Column(type="string") */ private $password; public function getId(){ return $this->id; } public function getUsername(){ return $this->username; } public function setUsername($value) { $this->username = $value; } public function getPassword(){ return $this->password; } public function setPassword($value) { $this->password = $value; } public function getRoles(){ return array('ROLE_USER'); } public function getSalt() { return null; } public function eraseCredentials() { } }
Merci de votre grande aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 login: pattern: /login defaults: { _controller: testFrontBundle:Login:login } # Cette route sera gérée automatiquement par symfony, il faut juste la déclarer login_check: pattern: /login_check # Cette route sera gérée automatiquement par symfony, il faut juste la déclarer logout: pattern: /logout
Vincent
Partager