我的问题跟踪是:
类型错误:参数4传递给
的Symfony \元器件\安全\核心\认证\令牌\ UsernamePasswordToken :: __构建体() 必须是类型数组,null给定,调用 ... \供应商\ symfony的\安全\核心\认证\供应商\ UserAuthenticationProvider.php 在第90行
事情是: - 当我尝试登录时,用户名和密码工作,而不是令牌,并且在我的实体中,令牌被定义为有人值守,作为数组
/**
* @ORM\Column(type="array")
*/
private $role;
对于getter和setter来说同样如此,
所以,如果我理解得很好,他会尝试访问构造Authentication类的数组,这是角色,但他说该角色为null。 所以这是我的登录类:
$error = $authenticationUtils->getLastAuthenticationError();
$lastUsername = $authenticationUtils->getLastUsername();
if ($this->getUser()) {
$this->addFlash('danger', 'You are already identified on TCELab');
return $this->redirectToRoute("default");
}
return $this->render('user/sign_in.html.twig', array(
'last_username' => $lastUsername,
'error' => $error,
));
正常这应该有用, 有人可以帮忙吗?
由于
答案 0 :(得分:0)
在您的用户实体中,为roles
属性设置默认值。
/**
* @ORM\Column(type="array")
*/
private $role = [];
或
public function __construct()
{
$this->roles = [];
}