Php Symfony2-显示错误凭据错误

Php Symfony2-显示错误凭据错误,php,symfony,login,error-handling,Php,Symfony,Login,Error Handling,我一直在用Symfony2编写自定义身份验证提供程序。到目前为止一切正常,但当我输入错误的密码时,会出现一个内部服务器错误,显示:LDAP身份验证失败 现在,这是我想要显示的消息,但我想在我的登录表单上方显示它,而不是抛出内部服务器错误。在我的listener中,我有以下内容: try { $authToken= $this->authenticationManager->authenticate($token); $this->security

我一直在用Symfony2编写自定义身份验证提供程序。到目前为止一切正常,但当我输入错误的密码时,会出现一个内部服务器错误,显示:LDAP身份验证失败

现在,这是我想要显示的消息,但我想在我的登录表单上方显示它,而不是抛出内部服务器错误。在我的listener中,我有以下内容:

try {
        $authToken= $this->authenticationManager->authenticate($token);
        $this->securityContext->setToken($authToken);

        return;
} catch (AuthenticationException $failed) {
        throw new BadCredentialsException($failed->getMessage(), 0);
}
那么,有没有人可以告诉我,我需要做什么来向用户显示一条消息,而不是抛出一个内部服务器错误


提前感谢。

您可以在控制器中手动将错误添加到登录表单中。例如:

$form->get('username')
    ->addError(new FormError($message));

您应该有一个控件操作来捕获表单的相同路径以捕获异常

在显示表单之前,将尝试验证过程

您可以看到以下示例:

问题是,当url为/login\u check时,symfony会抛出错误,所以我仍然会收到错误