使用Symfony 2.6,我正在寻找在应用程序中添加登录/注销时闪烁消息的最佳方式。我明确表示,在每种情况下,我都不想修改响应(我不需要)。
以下是我的解决方案:
登录:
1.第一个解决方案:
我可以使用security.interactive_login事件或security.authentication.success活动。在这两种情况下,我都可以实现一个监听器,以便在事件发生时添加一条flash消息。
2.第二种解决方案:
我可以创建自己的LoginScessHandler来实现AuthenticationSuccessHandlerInterface,但在这种情况下,我必须返回一个响应。此外,我不熟悉这种方法,我害怕覆盖默认的成功处理程序。这是正确的吗?
注销:
我可以创建一个LogoutListener来实现LogoutHandlerInterface。在这种情况下,我也害怕覆盖实际注销处理程序。
谢谢你的提议。
使用已经实现的FOSUserBundle登录/注销逻辑等
因此,您可以在登录检查重定向中显示错误:
要做到这一点,你必须将错误返回到树枝
$session->getFlashBag()->add('error', 'Error message');
在分支中,如果会话包含任何错误,您将需要这样的块来显示错误:
{% block flashes %}
{% if app.session.flashbag.peekAll|length > 0 %}
{{ session_flash() }}
{% endif %}
{% endblock flashes %}