SpringBoot项目整合jwt和redis完成登录token校验(含原理解析)_springboot redis jwt(2)

本文介绍如何在SpringBoot项目中结合jwt和redis进行登录token校验。通过创建JWT并存储在redis中,使用拦截器检查请求头中的token,并在redis中验证其有效性。配置类指定了拦截器生效的路径,确保只有带有有效token的请求才能访问特定接口。

return ResultUtils.success(loginUserVo);
}

4、实现类

String getJwtToken(String adminSecretKey, Long adminTtl, HashMap<String, Object> map);

@Override
public String getJwtToken(String adminSecretKey, Long adminTtl, HashMap<String, Object> map) {
String jwtToken = JwtUtil.createJWT(adminSecretKey, adminTtl, map);
//拿到用户的id
String userId = map.get(“userId”).toString();
redisTemplate.opsForValue().set(adminTokenKey + “-” + userId, jwtToken, 7200, TimeUnit.SECONDS);
return jwtToken;
}

5、拦截器(拦截器的作用是带token访问其他接口做校验的,利用了redis 和jwt本身的校验)

/**
* JWT验证token是否合法的预处理方法。
*
* @param request 传入的HTTP请求对象,用于获取请求头中的信息。
* @param response HTTP响应对象,用于设置响应状态码。
* @param handler 处理器对象,用于判断请求是否是一个方法处理器。
* @return 返回布尔值,表示是否继续执行下一个拦截器或处理器。
* @throws IOException 可能由于I/O操作引发异常。
*/
public boolean preHandle(HttpServletRequest request, HttpS

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值