springboot:token、interceptor的代码和注解

本文介绍了在SpringBoot中如何实现基于Token的用户身份验证。详细讲解了定义注解`@Token`的使用,包括`@Target`和`@Retention`元注解的作用。接着阐述了Token验证的工作流程,客户端保存Token并携带Token访问API,服务器端通过拦截器Filter进行校验。在配置部分,创建了一个拦截器配置类,通过`@Configuration`和`@Bean`注解实例化`AuthenticationInterceptor`。此外,还讨论了`AuthenticationInterceptor`中`preHandle`方法的实现。文章最后提到了Service层、JWT工具类以及Controller层的注解使用。
摘要由CSDN通过智能技术生成

代码来源:Springboot token令牌验证解决方案 在SpringBoot实现基于Token的用户身份验证

代码1:annotation/token
@Target({
   ElementType.METHOD, ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
public @interface PassToken {
   
}

1、java元注解 @Target注解用法

@Target用于描述注解的使用范围

 /**用于描述类、接口(包括注解类型) 或enum声明*/
TYPE,

/** 用于描述域 Field declaration (includes enum constants) */
FIELD,

/**用于描述方法 Method declaration */
METHOD,

2、java元注解 @Retention注解使用

@Retention定义了该Annotation被保留的时间长短

RUNTIME:在运行时有效(即运行时保留)

3、整段代码含义:定义一个叫PassToken的注解,可以用在标记其他类和方法,并且这个注解是运行时有效的

4、 token 验证的机制(流程)

用户登录校验,校验成功后就返回Token给客户端。
客户端收到数据后保存在客户端
客户端每次访问API是携带Token到服务器端。
服务器端采用filter过滤器校验。
校验成功则返回请求数据,校验失败则返回错误码

5、token的pom依赖:jwt

        <dependency>
              <groupId>com.auth0</groupId>
              <artifactId>java-jwt</artifactId>
              <version>3.4.0</version>
        </dependency>
代码2:config/interceptor

新建一个拦截器配置,用于拦截前端请求,实现 WebMvcConfigurer

 8 @Configuration
 9 public class InterceptorConfig implements WebMvcConfigurer {
   
10     @Override
11     public void addInterceptors(InterceptorRegistry registry) {
   
12         registry.addInterceptor(authenticationInterceptor())
13                 .addPathPatterns("/**");    // 拦截所有请求,通过判断是否有 @LoginRequired 注解 决定是否需要登录
14     }
15     @Bean
16     public AuthenticationInterceptor authenticationInterceptor() {
   
17         
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值