Php Symfony 2:登录/注销时的Flash消息
使用Symfony 2.6,我正在寻找在我的应用程序中添加登录/注销flash消息的最佳方法。我明确表示,在每种情况下,我都不想修改响应(我不需要) 以下是我的解决方案: 登录: 1。第一种解决方案: 我可以使用事件或事件。在这两种情况下,我都可以实现一个侦听器,在事件发生时添加一条flash消息 2。第二种解决方案: 我可以创建自己的LoginSuccessHandler来实现AuthenticationSuccessHandlerInterface,但在这种情况下,我必须返回响应。此外,我不熟悉这个方法,我害怕覆盖默认的成功处理程序。对吗 注销: 我可以创建一个LogoutListener来实现LogoutHandlerInterface。在这种情况下,我也害怕覆盖defaut注销处理程序 感谢您的建议。使用已实施的登录/注销逻辑等Php Symfony 2:登录/注销时的Flash消息,php,symfony,Php,Symfony,使用Symfony 2.6,我正在寻找在我的应用程序中添加登录/注销flash消息的最佳方法。我明确表示,在每种情况下,我都不想修改响应(我不需要) 以下是我的解决方案: 登录: 1。第一种解决方案: 我可以使用事件或事件。在这两种情况下,我都可以实现一个侦听器,在事件发生时添加一条flash消息 2。第二种解决方案: 我可以创建自己的LoginSuccessHandler来实现AuthenticationSuccessHandlerInterface,但在这种情况下,我必须返回响应。此外,我不
因此,您将有可能在登录检查重定向上显示错误:
要执行此操作,必须将错误返回到细枝
$session->getFlashBag()->add('error', 'Error message');
在细枝中,如果会话包含任何错误,则需要这样一个块来显示错误:
{% block flashes %}
{% if app.session.flashbag.peekAll|length > 0 %}
{{ session_flash() }}
{% endif %}
{% endblock flashes %}
谢谢你,但我不明白你的建议。我有效地使用了FOSUserBundle。根据不同的事件,这个包中实际上有七条预定义的flash消息。你能解释一下你在应用程序的什么地方添加了flash消息吗?我的目的只是告诉用户他现在已连接或断开连接。所有flash消息都显示在我的布局中。您可以添加一个服务,该服务将挂接到-add中,在onImplicitLogin成功后添加一个flash,无论用户走到哪里,该flash消息都将在登录后显示。必须有一个用于注销,但我不确定它在文档中的什么位置。您可以为传递事件的控制器连接一个侦听器。@George我已经创建了一个额外的侦听器,在成功登录后添加一条flash消息(使用security.interactive\u登录事件,但应该使用fos\u user.security.implicit\u登录事件)。它很好用。我认为不存在注销事件。甚至在symfony 2中。我按照文档中的描述钩住控制器,但用于重定向响应。