Laravel 5.7中的身份验证会话

时间:2018-12-18 04:02:07

标签: laravel session authentication

我正在尝试在通常的用户身份验证之上实施域范围身份验证(DWA)。用例是为了防止进行中的网站泄漏到google / public。

  1. 使用php artisan make:auth创建的脚手架代码
  2. 通过/login登录并重定向到显示默认/home的{​​{1}}
  3. 重新加载You are logged in!时,我发现/home中的$this->session->id具有一个ID值,我将其称为A,会话中也有5个SessionGuard.php。 / li>
  4. 接下来,我将attributes中间件插入路由auth中并加载
  5. 我发现/product/{id}中的$this->session->id具有一个全新的ID,其ID为0 SessionGuard.php
  6. 这会导致attributes中间件中的authenticate()抛出Authenticate.php异常并将我重定向到Unauthenticated
  7. 在浏览器加载/login时,/login中的$this->session->id现在显示A的ID,其中前5个SessionGuard.php
  8. attributes导致/login中间件运行并重定向到RedirectIfAuthenticated.php
  9. 由于DWA,我无法加载/home,它只是一直将我重定向到/product/{id}

我的问题是,为什么#5显示一个新的会话ID而不是A? 首先从何处导出此ID?

谢谢!

1 个答案:

答案 0 :(得分:0)

我找到了解决方法Problems of routes in own package- Laravel 5.6

这是由于我的控制器仅具有auth但缺少web中间件。希望对别人有帮助。