(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

最新文章

  1. 【ESRI论坛6周年征文】ArcEngine注记(Anno/ Label/Element等)处理专题 -入门篇
  2. Node.js-npm【1】-常用命令
  3. 数据结构算法C语言实现(五)---2.3重新定义线性链表及其基本操作
  4. 20160908_Redis主从复制Replication
  5. RESTful 良好的API设计风格
  6. 【python】队列
  7. Visual Studio 2010 C++ 工程文件解读
  8. css定位方式
  9. android89 服务service
  10. ssh爆破脚本
  11. Unity3DGUI:Window
  12. 将sublimeText添加到鼠标右键菜单栏
  13. python 项目中的 requirements.txt
  14. Bitmap对图像的处理
  15. C++:普通变量C++命名规则
  16. JavaScript是如何工作的:深入类和继承内部原理 + Babel和TypeScript 之间转换
  17. Leetcode 26. Remove Duplicates from Sorted Array (easy)
  18. 几个例子弄懂JS 的setInterval的运行方式
  19. react withClamp装饰器
  20. Revit Family API 添加几何实体

热门文章

  1. 转:Sed使用
  2. how2heap学习(二)
  3. 一道栈溢出babystack
  4. 利用模块加载回调函数修改PE导入表实现注入
  5. ArcGIS中重采样栅格像元对齐问题
  6. CF433B Kuriyama Mirai's Stones 题解
  7. LuoguP7059 [NWRRC2015]Lucky Chances 题解
  8. Python 线程池模块threadpool 、 concurrent.futures 的 ThreadPoolExecutor
  9. IO复用的三种方法(select,poll,epoll)深入理解
  10. 【LeetCode】716. Max Stack 解题报告(C++)