认识
2025年01月07日
一、认识
传统的 Session+Cookie
认证 基于服务器端存储用户的认证信息。用户登录后,服务器会创建一个会话(Session
),并返回一个 Session ID
,该 ID
会被存储在客户端的 Cookie
中。每次客户端请求时,浏览器会自动携带这个 Cookie
,服务器通过该 Session ID
来验证用户的身份。
传统的 Session+Cookie
认证 实现简单,适合传统的 Web
应用。同时, 用户登录信息存储在服务器,防止信息被泄漏,适合单体应用的内部认证。但是, 传统的 Session+Cookie
认证 会话状态存储在服务器,导致服务器压力增大,尤其是在大规模应用中,可能会造成 Session
存储的瓶颈。不易于跨域或分布式系统使用(如微服务架构中)。需要管理会话过期和定期清理 Session
。
二、工作流
-
用户提交用户名和密码给后端服务器。
-
后端验证用户名和密码,成功后创建一个
Session
,并将该Session ID
存储在服务器内存或数据库中。 -
后端将
Session ID
作为Cookie
设置到客户端浏览器上(通常使用HttpOnly
和Secure
标志来增加安全性)。 -
客户端浏览器每次发送请求时会自动携带该
Cookie
,服务器通过Session ID
查找对应的会话信息,从而验证用户的身份。