SpringSecurity整合Jwt

Posted 鼓捣猫腻

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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去访问

   

以上是关于SpringSecurity整合Jwt的主要内容,如果未能解决你的问题,请参考以下文章

SpringBoot整合SpringSecurity

从零玩转SpringSecurity+JWT整合前后端分离-从零玩转springsecurityjwt整合前后端分离

SpringBoot整合SpringSecurity

SpringSecurity整合JWT-详细版

SpringSecurity整合SSO单点登录

SpringBoot整合SpringSecurity