总结关于spring security 使用 JWT 和 账户密码登录 整合在一起的新感悟

(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 

猜你喜欢

转载自www.cnblogs.com/c2g5201314/p/13207331.html