创建token验证,手写spring-boot-starter(个人笔记)

创建token验证,手写spring-boot-starter(个人笔记,不严谨准确)

1.新创建空文件只保留pom.xml文件,将其作为父模块

pom文件依赖改为dependencyManagement用来管理子模块的依赖版本,spring-boot-starter-parent的版本设为常用的2.3.11版本
添加packaging设为pom
添加modules用来添加子模块

在这里插入图片描述

2.创建一个model模块,用来使用自定义异常类

首先将model模块的parent改为父模块
更改为 …/pom.xml
其余父模块已有的依赖不需要添加版本,但需要导入依赖
创建ResponseDTO类和BizException自定义异常类

在这里插入图片描述

ResponseDTO
在这里插入图片描述
BizException
在这里插入图片描述

私仓的settings.xml复制到C:/User/登录账户/.m2下
打包上传

3.创建token验证模块,pom大概与model模块一样修改,但需要在父模块里添加module

将上传的model模块导入进依赖

plugins添加以下,让程序打成jar包,并且将源码也打包上传

  <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-source-plugin</artifactId>
                <version>3.1.0</version>
                <executions>
                    <execution>
                        <id>attach-sources</id>
                        <phase>package</phase>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

在resource下创建META-INF文件夹然后在里面创建spring.factories,创建
TokenXConfiguration类,并在spring.factories中添加自动读取配置类TokenXConfiguration的全路径
在这里插入图片描述

创建一个properties类来配置token验证的部分参数和拦截器参数
@Configurationproperties用于获取配置文件中的属性定义并绑定到bean
属性中,prefix获取bean里属性的前缀,从配置文件中依靠前缀获取详细属性

key:token生成需要的密钥
enable:token验证的开关
pathPatterns:拦截器生效的路径
excludepathPatterns:拦截器不拦截的路径(白名单)
order:拦截器优先级别,越低越高

在这里插入图片描述

TokenXConfiguration导入WebConfig配置类,在运行时首先通过spring.factories找到它

在TokenXConfiguration上通过@ConditionalOnProperty来控制自动配置是否生效,
perfix:前缀名
value:”开关“的属性名
havingValue:value的值和此处判断是否相同,相同则配置生效
matchIfMissing:如果value没有值,true默认配置生效,false不生效

在这里插入图片描述

创建一个拦截器MyInterceptor
获取tokenkey生成的token
JWTUtil.verify(token, this.tokenKey.getBytes());
hutool工具的方法用来判断token是否正确
在这里插入图片描述

创建配置类WebConfig

注解导入TokenXProperties类
创建TokenXproperties类的对象
重写 添加一个拦截器,并将TokenXproperties里的拦截器配置属性添加到对应位置,excludePath是白名单中如果有多个路径,以 “ ,” 进行字符串分割,分为一个包含路径的集合 新创建一个含有tokenKey的拦截器,并添加到相应配置

在这里插入图片描述

打包上传!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值