gpt4 book ai didi

php - 使用 symfony 和 FOSUserBundle 在登录失败时覆盖 BadCredentialsException

转载 作者:行者123 更新时间:2023-12-05 03:02:29 25 4
gpt4 key购买 nike

我正在使用 Symfony 2.8 和 FriendsOfSymfony/FOSUserBundle 2.12 版本。

我期待特定的登录错误消息,比如如果我输入了错误的用户名,那么我应该会收到错误消息“找不到用户名”,如果我输入错误的密码,那么我应该会收到错误消息消息“密码无效”之类的。

但是,在上述情况下,我收到了相同的错误消息“Bad credentials”。

经过进一步研究,我发现Symfony在authenticate方法中隐藏了UserAuthenticationProvider.php文件中的UsernameNotFoundException:

    try {
$user = $this->retrieveUser($username, $token);
} catch (UsernameNotFoundException $e) {
if ($this->hideUserNotFoundExceptions) {
throw new BadCredentialsException('Bad credentials.', 0, $e);
}
$e->setUsername($username);

throw $e;
}

我在登录表单中转储错误对象。这是屏幕截图:enter image description here :

任何人都知道如何获得特定的错误消息。提前致谢。

最佳答案

您可以在您的 security.yml 中设置它:

security:
hide_user_not_found: false

有关详细信息,请参阅此答案:Managing Symfony BadCredentialsException codes

关于php - 使用 symfony 和 FOSUserBundle 在登录失败时覆盖 BadCredentialsException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54732349/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com