SpringBoot使用JWT集成Ng-Alain之Token失效处理
在 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失效处理相关推荐
- SpringBoot整合JWT实现登录认证
目录 什么是JWT 为什么使用JWT JWT的使用场景 JWT的结构 JWT的请求流程 SpringBoot整合JWT 引入依赖 编写配置文件 token生成与验证工具类 拦截器拦截token 设置拦 ...
- 29.Jwt集成(3):token设置过期时间、异常判断
29.Jwt集成(3):token设置过期时间.异常判断 参考文章: (1)29.Jwt集成(3):token设置过期时间.异常判断 (2)https://www.cnblogs.com/hualou ...
- angular项目 集成ng zorro 和ng alain
angular项目 集成 ng zorro和ng alain(mock 和acl权限)学习笔记 这段时间,比较忙,很久没有写博客了.作为后端开发人员,第一次接触angular,以下是个人的学习心得和D ...
- 单realm模式下前后端分离实现springboot+shiro+jwt+vue整合
shiro+jwt实现前后端分离 一.RBAC概念 基于角色的权限访问控制(Role-Based Access Control)作为传统访问控制(自主访问,强制访问)的有前景的代替受到广泛的关注.在R ...
- SpringBoot和Vue集成Markdown和多级评论——基于SpringBoot和Vue的后台管理系统项目系列博客(二十三)
系列文章目录 系统功能演示--基于SpringBoot和Vue的后台管理系统项目系列博客(一) Vue2安装并集成ElementUI--基于SpringBoot和Vue的后台管理系统项目系列博客(二) ...
- SpringBoot+SpringSecurity+JWT实现认证和授权
SprinBoot 系列文章: Spring Boot入门之Hello Spring Boot SpringBoot 配置多个JdbcTemplate SpringBoot 整合Mybatis CAS ...
- html jwt权限控制,SpringBoot+SpringSecurity+JWT实RESTfulAPI权限控制
在整合jwt之前,我们首先要在SpringBoot中整合security的模块,来实现基于security的授权控制.用过security的人都知道,它的功能无比的强大比shiro还要强大,但是今天我 ...
- JWT 教程_1 SpringBoot与JWT整合
https://gitee.com/fakerlove/spring-security 文章目录 1. 介绍 2. SpringBoot与JWT整合 2.1 JWT的结构: 2.2 JWT的使用测试: ...
- 最最最详细的springboot项目中集成微信扫码登入功能.步骤代码超级详细(OAuth2)
说到登录注册,就会想到先要注册一个用户名,在进行登入,但是现在大多数的网站都集成了微信登入,不需要注册,给你一个二维码,微信一扫直接登录.这确实是十分便捷的.所以我们会尽量在项目中实现这一功能.减少用 ...
最新文章
- sql实现两张表的拷贝
- html中亮度怎么写,html – 使用CSS更改背景的亮度
- 1.1 基础-取近似值
- Java插件自动保存浏览器书签_多浏览器书签同步插件EverSync
- DPDK内存篇(一): 基本概念
- 阿里云、天津开启多项合作,区域经济大脑落地津南
- HDTV(1920x1080)码率和视频质量关系的研究 1 (前期准备)
- 利用脚本设置本机IP地址
- swift -懒加载创建view
- php打印机 纸张大小,打印设置信息中的纸张类型,如何取自定义纸张!
- 熊猫烧香C语言源代码,熊猫烧香病毒源代码 1.0 完整版 (图文)
- 人工智能写诗全程测试输出的诗句
- activiti7---activiti7整合springboot
- 网页的短信与邮箱注册
- 如何演示扇形面积公式推导过程
- 专科三年的教训,写给自己,也给正在学习路上的你
- android 窗口切换花屏,分享Android4平台二级页面滚动花屏问题的解决方案v1.0.0
- Go语言中开启和退出协程
- 设计一个排序和查找系统。能够实现对给定的一组学生的借书证信息(如:卡号、姓名、系别、班号等)进行排序和查找。
- 2021年国企、银行求职面经汇总(更新中)