Symfony 4:注销后显示Flashbag

我有这个网站,用户必须通过测试,最终他们可以访问测试结果。它们可以通过邮件发送,这将发送电子邮件,从数据库中删除记录,断开用户连接并将其重定向到登录页面。

一旦断开连接并重定向到登录页面,我想显示一条确认消息,例如“感谢您的参与!您的结果刚刚通过电子邮件发送”。

这是我在控制器内部的函数中编写的:

$request->getSession()->getflashBag()->add('success','Thanks for your participation ! ...');

return $this->redirectToRoute('app_logout');

这就是我在视图(login_page)中写的内容

{% for message in app.flashes('success') %}
    <div class="alert alert-warning alert-dismissible fade show" role="alert">
            {{ message }}
        <button type="button" class="close" data-dismiss="alert" aria-label="Close">
            <span aria-hidden="true">&times;</span>
        </button>
    </div>
{% endfor %}

我在不断开用户连接的情况下尝试了此操作,并且有效! 但是,一旦使用路由“ app_logout”,就无法显示闪光灯,因为无法访问用户的会话。 总之,我不知道该怎么办,这是我的方向:

(查看)显示测试结果->(控制器)功能,用于发送邮件/添加flashbag /重定向到app_logout->(?闪光包

有人有什么想法吗?

rree2009 回答:Symfony 4:注销后显示Flashbag

最干净的解决方案可能是自定义Logout Success Listener,该自定义screenshot-fetching week 1 salary检查数据库中电子邮件发送的信息,并为新会话设置Flashbag(如果适用)。

本文链接:https://www.f2er.com/3157088.html

大家都在问