Сеансы аутентификации в Laravel 5.7 - PullRequest
0 голосов
/ 18 декабря 2018

Я пытаюсь реализовать проверку подлинности на уровне домена (DWA) поверх обычной проверки подлинности пользователя.Вариант использования - предотвращение утечки сайта, находящегося в процессе разработки, в google / public.

  1. Создан код скаффолдинга с использованием php artisan make:auth
  2. Войдите через /login и перенаправьте/home, который показывает значение по умолчанию You are logged in!
  3. Когда я перезагружаю /home, я вижу, что $this->session->id в SessionGuard.php имеет значение идентификатора, которое я буду называть A, сеанс также имеет5 attributes.
  4. Затем я вставляю промежуточное ПО auth в маршрут /product/{id} и загружаю его
  5. Я вижу, что $this->session->id в SessionGuard.php имеет новый идентификаторс 0 attributes
  6. Это заставляет authenticate() в Authenticate.php промежуточном программном обеспечении генерировать исключение Unauthenticated и перенаправлять меня на /login
  7. Когда браузер загружает /login, $this->session->id в SessionGuard.php теперь показывает идентификатор A с более ранними значениями 5 attributes
  8. /login, в результате чего промежуточное ПО RedirectIfAuthenticated.php работает и перенаправляется на /home
  9. В результатеDWA, я не могу загрузить /product/{id}, он просто перенаправляет меня на /home

Мой вопрос: почему # 5 показывает новый идентификатор сеанса вместо A?Где и как этот идентификатор получен в первую очередь?

Спасибо!

1 Ответ

0 голосов
/ 19 декабря 2018

Я нашел решение Проблемы маршрутов в собственном пакете - Laravel 5.6

Это произошло из-за того, что у моего контроллера было только auth, но не было промежуточного программного обеспечения web.Надеюсь, это кому-нибудь поможет.

...