SpringSecurity整合Jwt

一、创建项目并导入依赖

   

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-security</artifactId>

</dependency>

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-web</artifactId>

</dependency>

<dependency>

<groupId>io.jsonwebtoken</groupId>

<artifactId>jjwt</artifactId>

<version>0.9.1</version>

</dependency>

   

二、相关配置和代码

不了解jwt的建议先去看一下这篇,看完理论更好理解

https://www.jianshu.com/p/99a458c62aa4

   

2.1)要想实现jwt,需要两个过滤器。一是用户登陆成功是给他返回加密后的jwt数据格式,密钥存在服务端secret

二是校验客户端访问时携带token

   

2.2)创建jwt的登陆过滤器实现AbstractAuthenticationProcessingFilter

   

   

2.3)重写父类方法

   

   

   

   

   

2.4)创建客户端访问时携带的token校验过滤器

   

   

这也恰恰说明,jwt数据不是一定要携带账户密码角色的,只要能验证身份就行因为TOKEN本身就好似密码。这里带用户信息是为了springsecurity

具体可以根据自己业务设计

   

   

2.5)创建SecurityConfig配置类,里面的配置就不解释了,不理解翻我以前的博客

   

   

2.6)controller

   

   

三、测试效果图

   

3.1)先登录

   

   

3.2)使用给我们的token去访问

   

原文地址:https://www.cnblogs.com/fernfei/p/12208105.html