总结关于spring security 使用 JWT 和 账户密码登录 整合在一起的新感悟
2024-10-19 22:45:01
(1)jwt登录拦截,需要在账户密码认证之前进行jwt认证,因此jwt拦截需要在 UsernamePasswordAuthenticationFilter 之前;
(2)jwt验证通过则不需要执行账户密码拦截,但是会执行两次jwt拦截,原因不清楚;
(3)如果jwt没有通过,将会执行账户密码拦截;
(4)每次账户密码验证通过后,在成功处理类里面。生成token ,然后将结果一起返回给前端,
这样下次用户需要访问某一API接口时,前端将该token放入请求头中即可,key值一般是 authorization ,
当然,前提是该token没有过期。
(5)如果token过期,前端需要写换成账户密码方式登录,再次获取有效的token即可,然后再去访问指定的API接口,最好不要直接携带账户密码信息来访问API接口。
(6)工程我放在git仓库里了,地址 https://github.com/cen-xi/spring-security-JWT-usernamepassword
最新文章
- 【ESRI论坛6周年征文】ArcEngine注记(Anno/ Label/Element等)处理专题 -入门篇
- Node.js-npm【1】-常用命令
- 数据结构算法C语言实现(五)---2.3重新定义线性链表及其基本操作
- 20160908_Redis主从复制Replication
- RESTful 良好的API设计风格
- 【python】队列
- Visual Studio 2010 C++ 工程文件解读
- css定位方式
- android89 服务service
- ssh爆破脚本
- Unity3DGUI:Window
- 将sublimeText添加到鼠标右键菜单栏
- python 项目中的 requirements.txt
- Bitmap对图像的处理
- C++:普通变量C++命名规则
- JavaScript是如何工作的:深入类和继承内部原理 + Babel和TypeScript 之间转换
- Leetcode 26. Remove Duplicates from Sorted Array (easy)
- 几个例子弄懂JS 的setInterval的运行方式
- react withClamp装饰器
- Revit Family API 添加几何实体
热门文章
- 转:Sed使用
- how2heap学习(二)
- 一道栈溢出babystack
- 利用模块加载回调函数修改PE导入表实现注入
- ArcGIS中重采样栅格像元对齐问题
- CF433B Kuriyama Mirai's Stones 题解
- LuoguP7059 [NWRRC2015]Lucky Chances 题解
- Python 线程池模块threadpool 、 concurrent.futures 的 ThreadPoolExecutor
- IO复用的三种方法(select,poll,epoll)深入理解
- 【LeetCode】716. Max Stack 解题报告(C++)