jwt token+threadlocal登录 +@ControllerAdvice统一处理登录异常

思路:调用登录接口时,使用jwt生成token,前端调用接口时在请求头中传入token调用请求时通过拦截去拦截,获取请求头里的token进行校验并将用户信息保存到threadlocal中线程执行完后清除threadloal数据 (threadlocal中数据线程执行完毕后不会自动清空,需手动清除,否则可能会出现数据异常-----web中线程是从线程池中获取,创建一个线程后若此前线程的threadlocal数据未被清除,则可能会使用之前threadlocal中的数据,引起数据异常)登录://根据用户
摘要由CSDN通过智能技术生成

思路:
调用登录接口时,使用jwt生成token,前端调用接口时在请求头中传入token

调用请求时通过拦截去拦截,获取请求头里的token进行校验并将用户信息保存到threadlocal中
线程执行完后清除threadloal数据 (threadlocal中数据线程执行完毕后不会自动清空,需手动清除,否则可能会出现数据异常-----web中线程是从线程池中获取,创建一个线程后若此前线程的threadlocal数据未被清除,则可能会使用之前threadlocal中的数据,引起数据异常)

登录:
//根据用户名密码校验用户
@GetMapping(“login”)
public AjaxResult login(User user){
try {
//根据用户名密码校验用户
//获取token
return AjaxResult.success(getToken(user));

    } catch (WxErrorException e) {
        e.printStackTrace();
        return AjaxResult.error(e.getError().getErrorMsg());
    }
}

//生成token

public String getToken(User user) {
String token="";
Date now=new Date();
Calendar cal=Calendar.getInstance();
cal.setTime(now);
cal.add(Calendar.DATE,1);
token= JWT.create(). //token创建
withA

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值