【问题标题】:Laravel, common page for guest and user, session table user_id nullLaravel,访客和用户的公共页面,会话表 user_id null
【发布时间】:2021-06-14 13:58:23
【问题描述】:

在会话表中,用户访问访客页面时,用户id为空。

Route::get('/', [HomeController::class, 'index',])->name('home');

Route::group(['middleware' => ['auth:user']], function () {

    Route::get('/dashboard', [HomeController::class, 'dashboard'])->name('dashboard');

});

当用户访问仪表板时,会话表具有用户 ID,并且同一用户进入主页用户 ID 现在在会话表中设置为 null。

【问题讨论】:

  • 您是否手动将会话数据保存到表中?如果是的话,你为什么不使用 Laravel 内置的会话辅助函数来实现你想做的事情呢?
  • 我正在使用 laravel 的默认会话助手。

标签: laravel laravel-routing laravel-8 laravel-authentication laravel-session


【解决方案1】:

也许这会有所帮助

Route::middleware('auth')->group(function () {
    Route::get('/dashboard', [HomeController::class, 'dashboard'])->name('dashboard');
});

【讨论】:

  • 问题是主页而不是仪表板,主页适用于用户和访客。
  • 从你的代码看,说首页不需要认证。因此用户和访客都可以访问主页。也许你需要@auth user activity @endauth@guest guest activity @endguest 参考:laravel.com/docs/8.x/blade#authentication-directives
  • 这不是关于刀片的,而是关于会话表的。
猜你喜欢
  • 2019-07-21
  • 1970-01-01
  • 1970-01-01
  • 2018-09-18
  • 1970-01-01
  • 2014-07-13
  • 2015-04-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多