JWT

Posted jinqi520

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JWT相关的知识,希望对你有一定的参考价值。

所谓JWT也就是json web token,现在多用于用户认证。

传统的cookie加session认证流程如下:

1.用户输入账号密码,发送给服务器

2.服务器验证账号密码成功后,创建一个会话(Session),同时将这个会话(Session)的SessionID存于客户端(Cookie)中,然后cookie将随着response返回到客户端。一般情况的SessionID包含了浏览器信息以及session所属服务器下的web应用信息。实现代码如下

技术分享图片

 

注意:这里使用request.getSession()创建session时,会先检查request中的cookie是否包含JSESSIONID(这个应该是web容器里面实现的),当不存在JSESSIONID时认为这个是第一次请求,创建新的会话(session);如果request中的cookie包含JSESSIONID,则直接从内存中获取对应session。

技术分享图片

3.后续的请求中,浏览器会发送会话 ID 到服务器,服务器上如果能找到对应 ID 的会话,那么服务器就会返回需要的数据给浏览器

4.当用户退出登录,会话会同时在客户端和服务器端被销毁

 

这种认证方式的不足之处有两点

1、服务器端要为每个用户保留 session 信息,连接用户多了,服务器内存压力巨大

2、不适合分布式

 先下班 回去再继续写。。。

以上是关于JWT的主要内容,如果未能解决你的问题,请参考以下文章

JWT实战教程

JWT实战教程

整合JWT

Shiro+JWT 实现权限管理--JWT

Shiro+JWT 实现权限管理--JWT

什么是JWT