Laravel中的数据库类型会话驱动程序无法按预期工作

s4n0splo  于 2023-05-08  发布在  其他
关注(0)|答案(1)|浏览(81)

我在Laravel中使用的是数据库类型的会话驱动程序。例如,一个用户使用Chrome浏览器登录,他的会话记录被存储在会话表中,但是如果我尝试使用任何其他浏览器访问同一个网站,它会自动验证用户。
如果我尝试在另一个系统中打开网站,即使用户没有登录过一次,它也会自动进行身份验证。session table in workbench.env file
当我使用文件类型会话驱动程序时,它工作正常。
我希望用户不应该自动进行身份验证,因为这会使用错误的凭证对错误的用户进行身份验证

bmp9r5qi

bmp9r5qi1#

Laravel的数据库会话驱动程序将会话数据存储在数据库表中,并使用cookie来维护会话状态。如果用户使用一个浏览器或设备登录,会话cookie将存储在他们的浏览器中,如果他们切换到另一个浏览器或设备,他们将由于cookie而自动进行身份验证。
要要求用户在每次切换浏览器或设备时使用凭据登录,请将Laravel会话配置文件中的“same_site”选项更改为**“strict”“lax”**。这将防止会话cookie在用户从其他网站或浏览器导航时发送到服务器。
下面是一个例子:

'same_site' => 'strict',

更多信息:https://laravel.com/docs/8.x/session#configuring-the-session

相关问题