[英]Symfony 2 : Flash message on login / logout
使用Symfony 2.6,我正在寻找在应用程序中在登录/注销时添加即显消息的最佳方法。 我明确指出,在每种情况下,我都不想修改Response(我不需要)。
这是我的解决方案:
登录:
1.第一个解决方案:
我可以使用security.interactive_login事件或security.authentication.success事件。 在这两种情况下,我都可以实现一个侦听器以在事件发生时添加即显消息。
2.第二种解决方案:
我可以创建实现AuthenticationSuccessHandlerInterface的自己的LoginSuccessHandler,但是在这种情况下,我必须返回一个响应。 而且,我对这种方法并不熟悉,而且恐怕会覆盖默认的成功处理程序。 那是对的吗 ?
登出:
我可以创建一个实现LogoutHandlerInterface的LogoutListener 。 在这种情况下,我也担心会覆盖默认的注销处理程序。
感谢您的建议。
使用已经实现的FOSUserBundle登录/注销逻辑等。
这样,您就可以在登录检查重定向中显示错误:
为此,您必须将错误返回到树枝
$session->getFlashBag()->add('error', 'Error message');
在会话中,如果会话中存在任何错误,您将需要一个类似这样的块来显示错误:
{% block flashes %}
{% if app.session.flashbag.peekAll|length > 0 %}
{{ session_flash() }}
{% endif %}
{% endblock flashes %}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.