Переменные сессии / флэш-памяти Laravel не сохраняются после перенаправления - PullRequest
1 голос
/ 02 июня 2019

Итак, я пытаюсь перенаправить с помощью переменной session / flash, но я не могу понять, почему переменная сессии никогда не появляется после перенаправления.

У меня есть действие контроллера, подобное этому:

public function verifyAction(Request $request)
{
    return redirect()
        ->route('login')
        ->with('test', 'Test');
}

и на маршруте входа в систему я снимаю сессию (используя функцию Laravel Session () -> all ()), однако, похоже, она никогда не содержит ключ 'test'.

Я использую 'маршрут ремесленника: список', чтобы показать маршруты, подобные этому:

+--------+----------+--------+--------+---------------+------------+
| Domain | Method   | URI    | Name   | Action        | Middleware |
+--------+----------+--------+--------+---------------+------------+
|        | GET|HEAD | login  | login  | @loginAction  | web        |
|        | GET|HEAD | verify | verify | @verifyAction | web        |
+--------+----------+--------+--------+---------------+------------+

, и оба маршрута используют промежуточное веб-программное обеспечение, как указано в документации ([laravel.com/docs][1]) но данные сеанса всегда остаются пустыми после перенаправления, например:

["_flash"]=>
array(2) {
    ["old"] => array(0) {}
    ["new"] => array(0) {}
}

Я ожидаю увидеть ключ 'test' в массиве _flash после перенаправления, но на самом деле он всегда пуст,Есть идеи, что здесь происходит и как я могу заставить его работать?

Одна вещь, которая меня удивляет, это то, что я могу добавить обычные переменные сеанса в контроллер, как это, и это прекрасно работает:

Session::put([
    'test-2' => 'Testing'
]);

Так что переменные сеанса работают нормально, не работают только флэш-переменные.

Распространение: Ubuntu 19.04 (Disco Dingo), Laravel 5.8, Laradock, Docker версия 18.09.5, сборка e8ff056, Php7.2.15.

РЕДАКТИРОВАТЬ

Активность браузера:

URL запроса: http://localhost/verify?code=ABC&uid=2 Метод запроса: GET Код состояния: 302 НайденоУдаленный адрес: [:: 1]: 80 Политика реферера: no-referer-when-downgrade

URL запроса: http://localhost/login Метод запроса: GET Код состояния: 200 OK Удаленный адрес: [::1]: 80 Политика реферера: no-referer-when-downgrade

...