我使用 FOSUserBundle 来提供用户授权和注册。一切正常,但当我尝试使用不存在的用户名登录时,我收到此错误:
exception 'Symfony\Component\Security\Core\Exception\BadCredentialsException'
with message 'Bad credentials' in
/var/www/OnTheWay/vendor/symfony/symfony/src/Symfony/Component/Security/Core/Authentication/Provider/UserAuthenticationProvider.php:73
Stack trace:
#0 /var/www/OnTheWay/app/cache/dev/classes.php(120): session_start()
#1 /var/www/OnTheWay/app/cache/dev/classes.php(198): Symfony\Component\HttpFoundation\Session\Storage\NativeSessionStorage->start()
#2 /var/www/OnTheWay/app/cache/dev/classes.php(498): Symfony\Component\HttpFoundation\Session\Storage\NativeSessionStorage->getBag('attributes')
我已经尝试过寻找解决方案,但我没有得到任何结果。
答案 0 :(得分:82)
[BC break]现在FOSUserBundle:Security:login.html.twig模板 在错误变量中接收AuthenticationException而不是 错误信息。
要解决此问题,您需要更新自定义登录模板login.html.twig
:
自:
{% if error %}
... {{ error|trans }} ...
{% endif %}
要:
{% if error %}
... {{ error.messageKey|trans(error.messageData, 'security') }} ...
{% endif %}