向经过身份验证的用户显示强制性消息的最佳方法

时间:2019-04-29 19:06:39

标签: laravel

我想向经过身份验证的用户显示强制性消息。每次(通过浏览器)调用该应用程序时,都应检查是否必须显示该消息(因为该消息已经显示)。 我想知道,哪里是实现此类功能的最佳场所。中间件?验证事件?处理此问题的最佳方法是什么? 有关已显示状态的消息蜂鸣声的功能是显而易见的,而不是我的问题的一部分。

它应该如何工作:经过身份验证的用户将路由称为“有用的东西”。如果有可用的消息,则应重定向到显示所需内容的路由“消息”。有一个类似“继续”的按钮。这会将内容标记为如图所示,并应将用户重定向回“有用的东西”路由。

BTW:这适用于laravel 5.8的当前最新版本。*

感谢您的建议。

1 个答案:

答案 0 :(得分:0)

由于@ derek-pollard,我尝试了中间件。如果有人面临类似的情况,这就是对我有用的方法。

1)创建中间件,执行检查是否要显示消息的逻辑,并在必要时进行重定向。

2)我的小陷阱是将用户数据放入中间件内部。但是只需添加

即可解决此问题
\App\Http\Middleware\EncryptCookies::class,
\Illuminate\Session\Middleware\StartSession::class,

到$ middleware。

3)当然,将您的中间件添加到$middleware@/app/Http/Kernel.php中。请确保将其插入到EncryptCookies和StartSession之后。

4)要使其仅在某些路线上起作用,请在$ routeMiddleware或$ middlewareGroups中创建一个条目,该条目在使用更多Web路线时应执行的操作。

我也在尝试一些事件。但是事件对于此任务确实很麻烦。

相关问题