token验证的方法

统一token处理

排除token校验注解类
为不需要校验 token 的方法定义注解
@Documented //标记注解
@Target(ElementType.METHOD) //指定作用在方法上 对方法拦截
@Retention(RetentionPolicy.RUNTIME) //作用域 在运行时有效

NoAuthorization.java

import java.lang.annotation.*;

/**
 * 包含该注解的方法 不需要校验token  直接放行
 * @author 陌路
 * @date 2022-03-19
 * @apiNote token统一处理
 */
@Documented//标记注解
@Target(ElementType.METHOD) //指定作用在方法上 对方法拦截
@Retention(RetentionPolicy.RUNTIME) //作用域 在运行时有效
public @interface NoAuthorization {

    /** ---------@定义注解---------
     *  元注解
     *    @Target({METHOD,TYPE}) 表示这个注解可以用用在类/接口上,还可以用在方法上
     *    @Retention(RetentionPolicy.RUNTIME) 表示这是一个运行时注解,即运行起来之后,
     *    才获取注解中的相关信息,而不像基本注解如@Override 那种。
     *    @Inherited 表示这个注解可以被子类继承
     *    @Documented 表示当执行javadoc的时候,本注解会生成相关文档(标记)
     *
     *  自定义注解的使用:
     *  该注解定义好之后,将该注解加在方法上@NoAuthorization即可,
     *  若注解中存在属性需要赋值,则直接可以在注解中赋值即可,
     *  eg:public @interface ZjObj{
     *      String name();
     *      Integer sex();
     *  }
     *  eg: @ZjObj(属性="值") -> @ZjObj(name="张三",sex=1)
     *
     *  也可这样定义注解,效果都是一样的
     *  @Target(value = { ElementType.ANNOTATION_TYPE })
     *  @Retention(RetentionPolicy.RUNTIME)
     *  @Inherited
     *  @Documented
     *
     * ---------@解析注解@使用注解---------
     *  * 若注解中有属性,则可以直接通过反射来获取属性值
     *  * 相关配置信息本来是以属性的方式存放的,现在改为了以注解的方式
     *  *
     *  * @解析注解: 通过反射,获取这个类上的注解对象
     *  * ZjObj zjObj = class.foraName(ZjObj.class);
     *  * 拿到注解对象之后,通过方法,获取各个注解元素的值:
     *  * String name = zjObj.name();
     *  * Integer sex = zjObj.sex ();
     */
}

本地线程缓存类
封装获取当前登录人数据信息类

在 TokenInterceptor 将获取到的user数据信息

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值