Laravel,访客和用户的公共页面,会话表 user_id null
Posted
技术标签:
【中文标题】Laravel,访客和用户的公共页面,会话表 user_id null【英文标题】:Laravel, common page for guest and user, session table 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 的默认会话助手。 【参考方案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
这不是关于刀片的,而是关于会话表的。以上是关于Laravel,访客和用户的公共页面,会话表 user_id null的主要内容,如果未能解决你的问题,请参考以下文章
如何将所有访客请求重定向到 Laravel 应用程序中的登录页面?