在 SpringBoot使用JWT集成Ng-Alain中,我们简单介绍了SpringBoot与Ng-Alain的集成,在这种前后端分离框架实践中,我们使用了JWT来作为交互的安全标识,考虑一个问题,从整个系统的业务实际来看,当Token过期失效之后,我们需要用户重新登录以获取新的Token。在我们的代码实现中,当用户未获取正确的Token或者当Token失效时候,抛出403异常。

因此,我们需要修改Ng-Alain的403组件,当页面加载时,使用TokenService清空页面Token,这样的话,当用户点击返回首页时,会自动返回至登录页面要求用户重新登录。组件403修改如下:

export class Exception403Component {constructor(modalSrv: NzModalService, @Inject(DA_SERVICE_TOKEN) private tokenService: ITokenService,) {modalSrv.closeAll();this.tokenService.clear();console.log('clear token done')}
}

为了验证此问题,我们在后台代码中,设置Token过期时间为1分钟

        JsonWebTokenUtility jsonWebTokenUtility = new JsonWebTokenUtility();Calendar calendar = Calendar.getInstance();calendar.add(Calendar.MINUTE, 1);AuthTokenDetailsDTO authTokenDetailsDTO = AuthTokenDetailsDTO.builder().email(userName + "@test.com").userId(userName).expirationDate(calendar.getTime()).roleNames(List.of("admin")).privileges(List.of("admin")).build();String token = jsonWebTokenUtility.createJsonWebToken(authTokenDetailsDTO);

因此,当1分钟Token失效之后,系统跳转至403页面


点击返回首页,系统重新跳转至登录页面

SpringBoot使用JWT集成Ng-Alain之Token失效处理相关推荐

  1. SpringBoot整合JWT实现登录认证

    目录 什么是JWT 为什么使用JWT JWT的使用场景 JWT的结构 JWT的请求流程 SpringBoot整合JWT 引入依赖 编写配置文件 token生成与验证工具类 拦截器拦截token 设置拦 ...

  2. 29.Jwt集成(3):token设置过期时间、异常判断

    29.Jwt集成(3):token设置过期时间.异常判断 参考文章: (1)29.Jwt集成(3):token设置过期时间.异常判断 (2)https://www.cnblogs.com/hualou ...

  3. angular项目 集成ng zorro 和ng alain

    angular项目 集成 ng zorro和ng alain(mock 和acl权限)学习笔记 这段时间,比较忙,很久没有写博客了.作为后端开发人员,第一次接触angular,以下是个人的学习心得和D ...

  4. 单realm模式下前后端分离实现springboot+shiro+jwt+vue整合

    shiro+jwt实现前后端分离 一.RBAC概念 基于角色的权限访问控制(Role-Based Access Control)作为传统访问控制(自主访问,强制访问)的有前景的代替受到广泛的关注.在R ...

  5. SpringBoot和Vue集成Markdown和多级评论——基于SpringBoot和Vue的后台管理系统项目系列博客(二十三)

    系列文章目录 系统功能演示--基于SpringBoot和Vue的后台管理系统项目系列博客(一) Vue2安装并集成ElementUI--基于SpringBoot和Vue的后台管理系统项目系列博客(二) ...

  6. SpringBoot+SpringSecurity+JWT实现认证和授权

    SprinBoot 系列文章: Spring Boot入门之Hello Spring Boot SpringBoot 配置多个JdbcTemplate SpringBoot 整合Mybatis CAS ...

  7. html jwt权限控制,SpringBoot+SpringSecurity+JWT实RESTfulAPI权限控制

    在整合jwt之前,我们首先要在SpringBoot中整合security的模块,来实现基于security的授权控制.用过security的人都知道,它的功能无比的强大比shiro还要强大,但是今天我 ...

  8. JWT 教程_1 SpringBoot与JWT整合

    https://gitee.com/fakerlove/spring-security 文章目录 1. 介绍 2. SpringBoot与JWT整合 2.1 JWT的结构: 2.2 JWT的使用测试: ...

  9. 最最最详细的springboot项目中集成微信扫码登入功能.步骤代码超级详细(OAuth2)

    说到登录注册,就会想到先要注册一个用户名,在进行登入,但是现在大多数的网站都集成了微信登入,不需要注册,给你一个二维码,微信一扫直接登录.这确实是十分便捷的.所以我们会尽量在项目中实现这一功能.减少用 ...

最新文章

  1. sql实现两张表的拷贝
  2. html中亮度怎么写,html – 使用CSS更改背景的亮度
  3. 1.1 基础-取近似值
  4. Java插件自动保存浏览器书签_多浏览器书签同步插件EverSync
  5. DPDK内存篇(一): 基本概念
  6. 阿里云、天津开启多项合作,区域经济大脑落地津南
  7. HDTV(1920x1080)码率和视频质量关系的研究 1 (前期准备)
  8. 利用脚本设置本机IP地址
  9. swift -懒加载创建view
  10. php打印机 纸张大小,打印设置信息中的纸张类型,如何取自定义纸张!
  11. 熊猫烧香C语言源代码,熊猫烧香病毒源代码 1.0 完整版 (图文)
  12. 人工智能写诗全程测试输出的诗句
  13. activiti7---activiti7整合springboot
  14. 网页的短信与邮箱注册
  15. 如何演示扇形面积公式推导过程
  16. 专科三年的教训,写给自己,也给正在学习路上的你
  17. android 窗口切换花屏,分享Android4平台二级页面滚动花屏问题的解决方案v1.0.0
  18. Go语言中开启和退出协程
  19. 设计一个排序和查找系统。能够实现对给定的一组学生的借书证信息(如:卡号、姓名、系别、班号等)进行排序和查找。
  20. 2021年国企、银行求职面经汇总(更新中)

热门文章

  1. python皮卡丘绘制_Python画皮卡丘
  2. 如何防止服务器被攻击?
  3. 用matlab绘制分段函数曲线
  4. 磁盘,分区,文件系统
  5. 微信小程序列表首字母排序并根据字母定位
  6. 云服务器部署SpringBoot工程-瑞吉外卖项目
  7. 论文笔记:WORD TRANSLATION WITHOUT PARALLEL DATA
  8. ddos攻击怎么防御,一文了解如何防御DDoS攻击
  9. 流氓软件 巧压 怎么卸载?
  10. 教你用 CSS 实现超真实的 3D 相册,让你的照片立体感 UPUP