<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

   

SpringSecurity整合Jwt

   

2.3)重写父类方法

   

SpringSecurity整合Jwt

   

   

SpringSecurity整合Jwt

   

   

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

   

SpringSecurity整合Jwt

   

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

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

   

   

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

   

SpringSecurity整合Jwt

   

2.6)controller

   

SpringSecurity整合Jwt

   

三、测试效果图

   

3.1)先登录

   

SpringSecurity整合Jwt

   

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

   

SpringSecurity整合Jwt

相关文章:

  • 2021-05-16
  • 2022-12-23
  • 2021-11-08
  • 2022-12-23
  • 2022-12-23
  • 2021-12-20
  • 2022-02-10
  • 2021-08-04
猜你喜欢
  • 2021-06-11
  • 2022-01-05
  • 2023-03-27
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案