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.''
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
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