记住我的功能如何工作?

“记住我”功能的定义是

当您在门户登录页面上选中“记住我”复选框时,即使您关闭浏览器,您的登录名也会被记住几天。下次在该时间段内打开同一浏览器时,您将自动登录。

我不明白它实际上是如何在内部工作的。

假设我点击了app1并使用我的凭据登录。Web 服务器创建用户对象并将其存储在会话中。现在,每当我从同一浏览器实例的选项卡(相同或不同)点击app1时,Cookie都会来回发送。意义。

但是一旦我关闭浏览器并打开新窗口,然后点击app1。将发送一组新的cookie(而不是前一个),Web服务器将创建新会话并询问凭据。

所以我真的不明白一旦浏览器关闭并打开新窗口,我是如何记住我工作的?


答案 1

记住我功能通常通过以下方式工作:生成一个唯一的 cookie,将其与数据库中的用户相关联,并在用户登录后将持久性 cookie(即浏览器保存在磁盘上的 cookie)添加到响应中。

当用户再次打开浏览器并返回到应用程序时,浏览器会发送此 Cookie,服务器会查找数据库中是否有任何用户具有此 Cookie。如果找到该用户,他将自动进行身份验证,并为此 Cookie 启动一个新会话。


答案 2

推荐