我在Laravel中使用的是数据库类型的会话驱动程序。例如,一个用户使用Chrome浏览器登录,他的会话记录被存储在会话表中,但是如果我尝试使用任何其他浏览器访问同一个网站,它会自动验证用户。
如果我尝试在另一个系统中打开网站,即使用户没有登录过一次,它也会自动进行身份验证。session table in workbench.env file
当我使用文件类型会话驱动程序时,它工作正常。
我希望用户不应该自动进行身份验证,因为这会使用错误的凭证对错误的用户进行身份验证
我在Laravel中使用的是数据库类型的会话驱动程序。例如,一个用户使用Chrome浏览器登录,他的会话记录被存储在会话表中,但是如果我尝试使用任何其他浏览器访问同一个网站,它会自动验证用户。
如果我尝试在另一个系统中打开网站,即使用户没有登录过一次,它也会自动进行身份验证。session table in workbench.env file
当我使用文件类型会话驱动程序时,它工作正常。
我希望用户不应该自动进行身份验证,因为这会使用错误的凭证对错误的用户进行身份验证
1条答案
按热度按时间bmp9r5qi1#
Laravel的数据库会话驱动程序将会话数据存储在数据库表中,并使用cookie来维护会话状态。如果用户使用一个浏览器或设备登录,会话cookie将存储在他们的浏览器中,如果他们切换到另一个浏览器或设备,他们将由于cookie而自动进行身份验证。
要要求用户在每次切换浏览器或设备时使用凭据登录,请将Laravel会话配置文件中的“same_site”选项更改为**“strict”或“lax”**。这将防止会话cookie在用户从其他网站或浏览器导航时发送到服务器。
下面是一个例子:
更多信息:https://laravel.com/docs/8.x/session#configuring-the-session