Laravel сессия в промежуточном программном обеспечении не всегда установлена - PullRequest
0 голосов
/ 28 января 2020

У меня установлено промежуточное программное обеспечение на всех моих веб-маршрутах, которое сохраняет реферер в сеансе, если не установлено, поэтому я могу войти в него после конвертации моего посетителя.

Это работает большую часть времени , что означает, что иногда реферер - это одна из моих собственных страниц, которая часто находится где-то в середине всего пути клиента, что для меня абсолютно бессмысленно ,

Итак, чтобы уточнить: реферер - это страница, на которой промежуточное ПО должно было сработать и уже сохранить действительный или пустой реферер. Эта страница обычно не является начальной или последней страницей перед входом в систему.

Мое упрощенное промежуточное ПО:

public function handle(Request $request, Closure $next)
{
    if (!$request->session()->has('data')) {
        $request->session()->put('data', ['referer' => $request->header('referer')]);
    }

    return $next($request);
}
...