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:
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(){
 
    }
}
 
?>
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
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()
  {
  }
 
}
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
 
 
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
Merci de votre grande aide.

Vincent