Лучший способ показать обязательное сообщение для аутентифицированных пользователей - PullRequest
0 голосов
/ 29 апреля 2019

Я хотел бы отобразить обязательное сообщение для аутентифицированных пользователей.Каждый раз, когда приложение вызывается (через браузер), оно должно проверять, должно ли сообщение отображаться или нет (потому что оно уже было показано).Интересно, где лучшее место для такой функциональности.Промежуточное?Auth-событие?Что было бы лучшим способом справиться с этим?Функциональность сообщения, которое уже показывало статус, самоочевидна и не является частью моего вопроса.

Как это должно работать: аутентифицированный пользователь называет маршрут «что-то полезное».Если имеется доступное сообщение, оно должно перенаправить на маршрут «сообщения», показывающий желаемый контент.Есть кнопка типа «Продолжить».Это помечает содержимое, как показано, и должно перенаправлять пользователя обратно на маршрут «что-то полезное».

Кстати: это должно работать для текущей последней версии laravel 5.8. *

Спасибо за ваши предложения.

1 Ответ

0 голосов
/ 30 апреля 2019

Благодаря @ derek-pollard я пробовал с промежуточным ПО.Если кто-то сталкивается с подобной ситуацией, это то, как он работал для меня.

1) Создайте промежуточное программное обеспечение, выполняя логику для проверки того, должно ли сообщение отображаться, и перенаправляйте, если необходимо.

2) Моя маленькая ловушка - получение пользовательских данных внутри промежуточного программного обеспечения.Но просто решите это, добавив

\App\Http\Middleware\EncryptCookies::class,
\Illuminate\Session\Middleware\StartSession::class,

к промежуточному программному обеспечению $.

3) Конечно, добавьте свое промежуточное программное обеспечение в $middleware@/app/Http/Kernel.php.Убедитесь, что он вставлен после EncryptCookies и StartSession.

4) Чтобы заставить его работать только на определенных маршрутах, создайте запись в $ routeMiddleware или $ middlewareGroups, что делать при работе с более чем веб-маршрутами.

Я также пытался понять события.Но события действительно громоздки для этой задачи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...