一、创建项目并导入依赖

   

<dependency>

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

<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

   

SpringSecurity整合Jwt 随笔 第1张

   

2.3)重写父类方法

   

SpringSecurity整合Jwt 随笔 第2张

   

   

SpringSecurity整合Jwt 随笔 第3张

   

   

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

   

SpringSecurity整合Jwt 随笔 第4张

   

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

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

   

   

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

   

SpringSecurity整合Jwt 随笔 第5张

   

2.6)controller

   

SpringSecurity整合Jwt 随笔 第6张

   

三、测试效果图

   

3.1)先登录

   

SpringSecurity整合Jwt 随笔 第7张

   

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

   

SpringSecurity整合Jwt 随笔 第8张

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄