原因:前后端分离

以前的传统模式下,后台对应的客户端就是浏览器,就可以使用session+cookies的方式实现登录,但是在前后分离的情况下,后端只负责通过暴露的RestApi提供数据,而页面的渲染、路由都由前端完成。因为rest是无状态的,因此也就不会有session记录到服务器端。

优点

JWT的优点是服务端生成之后就不需要在维护JWT,只需要解析即可,省去分布式session方案中需要去数据库查询的时间。

缺点

不易实现JWT的主动失效。

要改变某个用户权限时数据库中用户的权限很容易改变,下次登录获得的JWT也是配置后的,还要解决的就是之前已经发放的失效前权限的JWT。

失效指的是加入管理员不想让某个持有JWT的用户继续访问资源,要让JWT失效不能再访问资源。

解决方案

将有效时间调小

但是即使过小会增加登陆的流程相当于一直在做登录操作。

维护JWT白名单

每个JWT发放都记录在数据库,这种和保存sessionid差不多。。

失效就将某个用户的JWT移除白名单。

维护JWT黑名单

失效就将该用户的JWT移入黑名单,直到过期再删除。

维护JWT版本号

数据库中记录用户所持有id的最新值,每次生成JWT时版本号自增。验证时先比较JWT版本号与数据库中维护的最新版本号是否相等,小于则失效。

JWT的优缺点及主动失效方案相关推荐

  1. OptiTrack专为VR主题公园推出了主动追踪方案,可降低40%成本

    此次OptiTrack Active方案的推出,或许会进一步推动更多的主题公园使用它们成本有所降低的定位方案. 从索尼申请新专利改善位置追踪到Valve准备推出新一代Lighthouse基站,越来越多 ...

  2. SpringBoot使用JWT集成Ng-Alain之Token失效处理

    在 SpringBoot使用JWT集成Ng-Alain中,我们简单介绍了SpringBoot与Ng-Alain的集成,在这种前后端分离框架实践中,我们使用了JWT来作为交互的安全标识,考虑一个问题,从 ...

  3. 微信二次分享解决图标文案失效方案

    转自:https://www.cnblogs.com/backtozero/p/7064247.html 前言 刚进入一家新公司,接到的第一个任务就是需要需要自定义微信分享的效果(自定义缩略图,标题, ...

  4. 黑马头条项目 JWT—4.3 头条项目实施方案(生成token接口测试)

    头条项目实施方案 需求 设置有效期,但有效期不宜过长,需要刷新. 如何解决刷新问题? 手机号+验证码(或帐号+密码)验证后颁发接口调用token与refresh_token(刷新token) Toke ...

  5. 客户服务器网络系统的优缺点,浅析网络存储方案的三种类型及其优缺点

    DAS(DirectAttachedStorage,直连式存储) NAS(NetworkAttachedStorage,网络连接式存储) SAN(StorageAreaNetwork,存储区域网络) ...

  6. python 结束语句_结束语

    python 结束语句 Recently, chatter bots have been used in many services of our day lives. These bots can ...

  7. jwt用户注销 PHP,关于JWT用户主动注销、强制登出、忘记密码、修改密码的一些思考...

    JWT(JSON WEB TOKEN)的特点是无状态,通常用来作为验证登录以及鉴权,在这一方面,JWT体现出了他的优点. 然而,如果使用JWT实现,用户主动注销.强制登出(禁止登陆).忘记密码.修改密 ...

  8. 【java】基于JWT的token身份认证方案

    1.概述 转载:基于JWT的token身份认证方案 2.使用JSON Web Token的好处 2.1 性能问题 验证信息可以由前端保存,后端不需要为保存token消耗内存.JWT方式将用户状态分散到 ...

  9. SpringBoot+SpringSecurity前后端分离+Jwt的权限认证(改造记录)

    欢迎关注方志朋的博客,回复"666"获面试宝典 来源:blog.csdn.net/zzzgd_666/article/details/96444829 前言 一般来说,我们用Spr ...

最新文章

  1. 【怎样写代码】对象克隆 -- 原型模式(五):原型管理器的引入和实现
  2. 使用Lex将C/C++文件输出为HTML文件
  3. BIO-NIO-AIO
  4. Android实战技术:深入理解Android的RPC方式与AIDL
  5. windows下 mysql 转移data目录
  6. hibernate的多表查询
  7. Java代码块回调,QueueEvent - 队列化执行线程和代码块
  8. 【ESP8266】安信可8266模组官方文档速查++
  9. python实验报告_20193102 实验一 《python程序设计》实验报告
  10. Spring aop切面插入事物回滚
  11. 【cs229-Lecture8】顺序最小优化算法
  12. golang幽灵蛛(pholcus)(一)
  13. 自动驾驶(四十五)---------汽车标定-XCP简述
  14. SAP APO 取订单函数(取计划订单数据一)
  15. 自学软件测试怎么学?【史上最详细学习路线】(附全套资料)
  16. Spark中如何使用矩阵运算间接实现i2i
  17. 2.安装node-red
  18. Activity与Fragment,以及Fragment与Fragment之间的数据通讯
  19. (root) Additional property nginx is not allowed
  20. 【引用】ubuntu服务器配置-(二)

热门文章

  1. 曹建老师Tensorflow笔记——神经网络搭建八股
  2. RJ45防水线防水接头
  3. 计算机闹铃音乐在线听,在计算机上设置闹钟功能,并每天自动打开音乐
  4. 软件测试、测试用例、开发模型和测试模型、瀑布模型和螺旋模型
  5. 1-CO-COPC-计划成本
  6. 北航宇航学院计算机,北航宇航学院模式识别与智能系统导师介绍:尹继豪
  7. 协同管理软件方面的一些文章
  8. 阿里云短信服务实现免密登陆
  9. mac配置python
  10. EOS genesis 详解