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的主要内容,如果未能解决你的问题,请参考以下文章