Php 使用Symfony登录表单验证器进行身份验证时出错

Php 使用Symfony登录表单验证器进行身份验证时出错,php,symfony,authentication,Php,Symfony,Authentication,我的身份验证系统完全正常工作(我遵循了文档教程) 但我有一个问题:当恶意用户禁用必需的密码字段并尝试登录时,我会收到一个错误500“警告:空密码” 身份验证系统在以下情况下不起作用: 当用户名与数据库中存储的用户名匹配,但密码为空,并且我尝试登录时,就会出现500 Twig错误 Symfony告诉我错误来自:src/Security/LoginFormAuthenticator.php(第79行) 这对应于这个代码: public函数checkCredentials($credentials,U

我的身份验证系统完全正常工作(我遵循了文档教程)

但我有一个问题:当恶意用户禁用必需的密码字段并尝试登录时,我会收到一个错误500“警告:空密码”

身份验证系统在以下情况下不起作用:

当用户名与数据库中存储的用户名匹配,但密码为空,并且我尝试登录时,就会出现500 Twig错误

Symfony告诉我错误来自:src/Security/LoginFormAuthenticator.php(第79行)

这对应于这个代码:

public函数checkCredentials($credentials,UserInterface$user)
{
返回$this->passwordEncoder->isPasswordValid($user,$credentials['password']);
}
如果缺少密码等字段,我希望用户被重定向到登录页面


提前感谢您。

我终于找到了解决方案:

public函数checkCredentials($credentials,UserInterface$user)
{
if(空($credentials['password']{
抛出新的CustomUserMessageAuthenticationException(“无效密码”);
}
返回$this->passwordEncoder->isPasswordValid($user,$credentials['password']);
}

我重新测试了身份验证系统,一切正常,但只有一种情况不正常:当用户名与数据库中存储的用户名匹配但密码为空时,我尝试登录,然后出现500 Twig错误。