【问题标题】:Authentication sessions in Laravel 5.7Laravel 5.7 中的身份验证会话
【发布时间】:2019-05-18 11:15:45
【问题描述】:

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

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

我的问题是,为什么#5 显示一个新的会话 ID 而不是 A? 这个 ID 最初是在哪里以及如何得出的?

谢谢!

【问题讨论】:

    标签: laravel session authentication


    【解决方案1】:

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

    这是由于我的控制器只有 auth 但缺少 web 中间件。希望它可以帮助某人。

    【讨论】:

      猜你喜欢
      • 2019-05-03
      • 2019-05-14
      • 2023-03-14
      • 1970-01-01
      • 2019-06-14
      • 2019-07-26
      • 2017-01-24
      • 2014-07-07
      • 2019-04-30
      相关资源
      最近更新 更多