laravel 8 jetstream 注销

laravel 8 jetstream logout

我正在使用 Laravel 8 - Jetstream 进行身份验证,我设置了一个会话变量:session(['isAdmin'=>'true']) 登录时:

//app\Providers\JetstreamServiceProvider.php

...

public function boot()
{
  ...
    
  Fortify::authenticateUsing(function(LoginRequest $request){
  ...
  //verifications
  session(['isAdmin'=>'true'])
  ...

}

如果用户在 Jetstream 中注销 (使用 POST 请求 /logout session('isAdmin')null
问题是如果用户 没有注销 但会话已过期,因为那时 session('isAdmin') 将是 null 但用户仍然登录(他没有使用 POST 请求 /logout ) .
我无法对此进行测试,因为我不知道 Laravel 中的会话变量是否过期,也许它正在为会话使用数据库……
关于 Laravel 会话如何与 Jetstream 中的身份验证系统一起工作的任何信息?

/logout 上,用户从应用程序注销,用户会话重置,因此所有会话数据都被销毁。就像你的情况 session('isAdmin') 设置为 null.

如果会话过期且用户未使用 post 请求注销 /logout,则会话也将在下一次请求时重置(post 会话过期)。在这种情况下,用户将被注销(因为会话已过期)并且会话数据将被销毁。这对会话的文件和数据库驱动程序的工作方式相同。