跳到主要内容

认识

2025年01月07日
柏拉文
越努力,越幸运

一、认识


传统的 Session+Cookie 认证 基于服务器端存储用户的认证信息。用户登录后,服务器会创建一个会话(Session),并返回一个 Session ID,该 ID 会被存储在客户端的 Cookie 中。每次客户端请求时,浏览器会自动携带这个 Cookie,服务器通过该 Session ID 来验证用户的身份。

传统的 Session+Cookie 认证 实现简单,适合传统的 Web 应用。同时, 用户登录信息存储在服务器,防止信息被泄漏,适合单体应用的内部认证。但是, 传统的 Session+Cookie 认证 会话状态存储在服务器,导致服务器压力增大,尤其是在大规模应用中,可能会造成 Session 存储的瓶颈。不易于跨域或分布式系统使用(如微服务架构中)。需要管理会话过期和定期清理 Session

二、工作流


  1. 用户提交用户名和密码给后端服务器。

  2. 后端验证用户名和密码,成功后创建一个 Session,并将该 Session ID 存储在服务器内存或数据库中。

  3. 后端将 Session ID 作为 Cookie 设置到客户端浏览器上(通常使用 HttpOnlySecure 标志来增加安全性)。

  4. 客户端浏览器每次发送请求时会自动携带该 Cookie,服务器通过 Session ID 查找对应的会话信息,从而验证用户的身份。