Login symfony 4 phpMyadmin

Par teste teste, il y a 7 ans


Bonjour,

Voila je rencontre un petit problème avec mon code.
quand j'essaye de m'edentifier j'ai une erreur ""Authentication request could not be processed due to a system problem.""

Ma tabe utilisateur :

username email password

mon formulaire

<form class="form" method="POST" action="{{ path('login')}}"> <div class="card card-login card-hidden"> <div class="card-header card-header-primary text-center"> <h4 class="card-title">Connectez-vous</h4> </div> <div class="card-body "> <span class="bmd-form-group"> <div class="input-group"> <div class="input-group-prepend"> <span class="input-group-text"> <i class="material-icons">face</i> </span> </div> <input type="text" id ="username" name="_username" value="{{last_username}}"class="form-control" placeholder="Identifiant..." required> </div> </span> <span class="bmd-form-group"> <div class="input-group"> <div class="input-group-prepend"> <span class="input-group-text"> <i class="material-icons">lock_outline</i> </span> </div> <input type="password" id="password" name="_password" class="form-control" placeholder="Mot de passe..." required> </div> </span> </div> <div class="card-footer justify-content-center"> <button type="submit" class="btn btn-primary btn-link btn-lg">Se connecter</button> </div> </div> </form>

entity\Utilisateur.php

<?php namespace App\Entity; use Doctrine\ORM\Mapping as ORM; use Symfony\Component\Security\Core\User\UserInterface; /** * @ORM\Entity(repositoryClass="App\Repository\UserRepository") */ class Utilisateur implements UserInterface, \Serializable { /** * @ORM\Id() * @ORM\GeneratedValue() * @ORM\Column(type="integer") */ private $id; /** * @ORM\Column(type="string", length=255) */ private $email; /** * @ORM\Column(type="string", length=255, nullable=true) */ private $username; /** * @ORM\Column(type="string", length=255) */ private $password; public function getId(): ? int { return $this->id; } public function getEmail() : ? string { return $this->email; } public function setEmail(string $email) : self{ $this->email = $email; return $this; } public function getUsername(): ? string { return $this->username; } public function setUsername( ? string $username) : self{ $this->username = $username; return $this; } public function getPassword() : ? string { return $this->password; } public function setPassword(string $password) : self{ $this->password = $password; return $this; } public function getSalt() { // Les algorithmes bcrypt et argon2i ne nécessites pas de sel . // Vous pourriez avoir besoin de cette fonction si vous changez d'algo. return null; } public function getRoles() { return ['ROLE_USER']; } public function eraseCredentials() {} public function serialize() { return serialize([ $this->id, $this->username, $this->email, $this->password, ]); } public function unserialize($string) { list( $this->id, $this->username, $this->email, $this->password ) = unserialize($string, ['allowed_classes' => false]); } }

securityController.php

<?php namespace App\Controller; #use http\Env\Request; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\Routing\Annotation\Route; use Symfony\Component\Security\Http\Authentication\AuthenticationUtils; class SecurityController extends AbstractController { /** * @Route("/login", name="login") */ public function login(Request $request, AuthenticationUtils $utils) { $errors = $utils->getLastAuthenticationError(); $lastUsername = $utils->getLastUsername(); //$utilisateur = new utilisateur(); //$form = $this->createForm(RegistrationController::class,$utilisateur) ; return $this->render('login/login.html.twig', array( 'last_username' => $lastUsername, 'error' => $errors, )); } }

Route.yaml

page_login: path: / controller: Symfony\Bundle\FrameworkBundle\Controller\TemplateController::templateAction defaults: template: 'login/login.html.twig'

a la fin quand j'essaye de valider et de me connecter j'ai l'erreur suivante :
''Authentication request could not be processed due to a system problem.''

2 réponses

TheTakylo, il y a 7 ans

Tu pourrais nous faire un screen des logs ? car avec juste cette erreur difficile de deviner :x
Sinon tu peut aussi nous montrer ton fichier de config security.yml

Sinon le problème que je vois est l'incohérence dans ton entité

/** * @ORM\Entity(repositoryClass="App\Repository\UserRepository") */ class Utilisateur implements UserInterface, \Serializable {

tu a une class Utilisateur mais un UserRepository, il faudrait un UtilisateurRepository, ou renommé ton entité Utilisateur en User

Digivia, il y a 7 ans

Hello,
Si c'était le repo, il y aurait une erreur 500, la classe UserRepository ne serait pas trouvée.
As-tu créé un Guard? Si oui, fais-en voir le code, ainsi que le security.yaml