客户端的 Cookie 身份验证 - 是否需要会话存储?

时间:2021-03-09 00:24:29

标签: express

我正在创建一个应用程序,我正在寻找用户身份验证的解决方案(基本上检查用户是否已登录)。我正在在线阅读,似乎很多人建议在您的数据库(存储角色、视图等)中使用会话存储/表,而不是仅将 cookie id 存储在该用户列的数据库中。我的问题是,将这些数据存储在“会话”存储中(基本上只是另一个表)与将这些数据与其他用户数据(用户名、密码哈希等)一起存储在数据库中有什么区别。我知道这对于在用户再次登录和退出时可能会更改的数据很有用,但是如果我的应用程序状态在登录之间保持一致,那么拥有会话存储是否有任何优势。谢谢。

1 个答案:

答案 0 :(得分:0)

您需要一种在 HTTP 请求和会话之间存储用户数据的方法来帮助您做到这一点。当用户访问我们的网站时,它会为用户创建一个新会话并为他们分配一个 cookie。下次用户访问该站点时,将检查 cookie 并在会话存储中检索和搜索存储在 cookie 中的会话 ID。会话存储是您存储有关会话的所有数据的地方。所以使用会话存储自动执行此方法并简化您的工作。因此,每当有人 ping 您的服务器时,它都会在您的数据库中添加用户的会话 ID。我会推荐你​​研究 JWT,这也是一种有趣的身份验证方式。