1
我已在security.yml注销成功处理程序:Symfony使用LogoutSuccessHandler添加闪光灯消息不起作用
security:
firewalls:
secured_area:
logout:
invalidate_session: true
success_handler: acme.security.logout_success_handler
我在services.yml设置服务:
acme.security.logout_success_handler:
class: ACME\FooBundle\Security\Handler\LogoutSuccessHandler
和落实在LogoutSuccessHandler代码.PHP
class LogoutSuccessHandler implements LogoutSuccessHandlerInterface
{
public function onLogoutSuccess(Request $request)
{
$request->getSession()->getFlashBag()->add('info', 'you have been logged out successfully');
return new RedirectResponse('/');
}
}
现在,如果我有任何提示信息,我从树枝打印:
{% for flashType, flashMessages in app.session.flashbag.all() %}
{% for flashMessage in flashMessages %}
<div class="flash-message-{{ flashType }}">{{ flashMessage|raw }}</div>
{% endfor %}
{% endfor %}
但没有消息打印。我认为在注销成功处理程序被调用并且Flash消息丢失后,会话被重新生成。