传统Session认证
1、认证过程
1、用户向服务器发送用户名和密码。
2、服务器验证后在当前对话(session)保存相关数据。
3、服务器向返回sessionId,写入客户端 Cookie。
4、客户端每次请求,需要通过 Cookie,将 sessionId 回传服务器。
5、服务器收到 sessionId,验证客户端。
2、存在问题
1、session保存在服务端,客户端访问高并发时,服务端压力大。
2、扩展性差,服务器集群,就需要 session 数据共享。
JWT简介
JWT(全称:JSON Web Token),在基于HTTP通信过程中,进行身份认证。
1、认证流程
1、客户端通过用户名和密码登录服务器;
2、服务端对客户端身份进行验证;
3、服务器认证以后,生成一个 JSON 对象,发回客户端;
4、客户端与服务端通信的时候,都要发回这个 JSON 对象;
5、服务端解析该JSON对象,获取用户身份;
6、服务端可以不必存储该JSON(Token)对象,身份信息都可以解析出来。
2、JWT结构说明
抓一只鲜活的Token过来。
上面的Token被手动格式化了,实际上是用"."分隔的一个完整的长字符串。
JWT结构
3、JWT使用方式
通常推荐的做法是客户端在 HTTP 请求的头信息Authorization字段里面。
与SpringBoot2整合
1、核心依赖文件
2、配置文件
3、JWT配置代码块
Token拦截案例
1、配置Token拦截器
2、拦截器注册
3、测试接口代码
领取专属 10元无门槛券
私享最新 技术干货