前言
在系统设计的时候,登录以及用户认证,可以说是必不可少的功能了。而常见的方案,就是将用户的认证信息保存到 session 中,在随着近年来微服务的兴起,更多的是一种 JWT 的认证方式。所以,今天就跟大家一起来聊一聊关于登录的那些事儿。
一、登录的那些事儿
登录,无疑就是一个用户身份的认证和授权过程。
目前实现统一身份认证和授权的技术手段较多,总体可以归纳为以下两类:
- 1.传统的 Cookie + Session 解决方案,属于 有状态 会话模式;在单体服务的时代,大多系统设计的都是有状态服务。
- 2.基于 token令牌/票据 解决方案,属于 无状态 交互模式。在微服务的出现后,大多系统设计,开始考虑无状态服务。
实际上,它们的最大区别,就是服务端是否会保存客户端的信息?
- 若服务端保存了客户端的信息,就被称为有状态的服务,反之,称为无状态服务。
1.1.有状态登录
(服务器会保存用户的登录信息!)
为了保证客户端cookie的安全性,服务端需要记录每次会话的客户端信息,从而识别客户端身份,根据用户身份进行请求的处理。
常见的模型就是 cooki