上一篇我们已经将通过jwt生成好的token返回给了前端 那么对于一些需要登陆的控制器就得需要携带token进行访问 所以今天我们来开发一下springboot的登陆拦截器
###
![](https://img.kancloud.cn/8e/8b/8e8bbdf39a26833a98dee146d23ee5c8_2856x1736.png)
![](https://img.kancloud.cn/f3/52/f352b50d898b75aa5a9c920e17c5295d_1903x1663.png)
###
然后再去写一个拦截配置
###
![](https://img.kancloud.cn/bf/32/bf32ed6e55bc3d1a88f162cfb4ec8c54_2418x1593.png)
###
随便写一个控制器我们来测试一下
###
![](https://img.kancloud.cn/dc/2b/dc2b34a6048032308514ab96cfa7bb71_2393x1649.png)
###
![](https://img.kancloud.cn/48/f8/48f8b48811cd73c62e25ea532f76c42c_2164x1237.png)
###
在Spring Boot中,如果你想要创建一个拦截器(Interceptor),那么你需要实现`HandlerInterceptor`接口。这个接口定义了三个方法,你可以在需要的时候覆盖它们来添加自定义的拦截逻辑:
1. `preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)`:这个方法在请求处理之前调用(即在控制器方法调用之前)。如果此方法返回`false`,则请求处理流程将立即停止,并且不会调用后续的拦截器(如果有的话)以及目标处理器。如果此方法返回`true`,则请求流程将继续。
2. `postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView)`:这个方法在请求处理之后调用(即在控制器方法调用之后,但在视图渲染之前)。它通常用于在视图渲染之前修改模型数据。请注意,如果控制器方法没有返回任何视图(即它返回了一个`@ResponseBody`注解的响应),则不会调用此方法。
3. `afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)`:这个方法在整个请求处理完成后调用,即在视图渲染之后。它通常用于执行清理操作,如日志记录、资源清理等。
- springboot2项目创建
- 分层分包以及资源文件的创建
- Mysql逆向工程效率神器创建domain实体类(DAO层)
- application.properties配置文件自动映射到实体类
- 通过junit单元测试配置文件自动映射到实体类
- 整合Mybatis访问数据库和阿里巴巴数据源
- 增删改查步骤以及细节记录
- 控制器请求参数的传递
- mybatis当中的动态sql语句创建和使用套路
- mybatis当中的分页插件的使用
- springboot2当中jwt的使用
- 增加统一响应结果类
- 微信登录之微信开放平台介绍
- 网站应用微信登录时序图解释说明
- 获取微信开放平台扫码链接URL地址
- HttpClient4.x工具获取使用以及Get和Post模拟请求类编写
- 配置内网穿透让微信服务器可以回调到开发环境地址
- 获取微信access_token以及openid进而获取用户信息
- 保存微信用户信息的注意点
- 保存完微信用户信息之后生成jwt返回前端
- springboot2登陆拦截器
- 微信支付前期资料说明
- 订单的增删改查Dao层编写
- 单元测试的实现步骤
- UUID生成和MD5加密工具类编写
- xml转map map转xml以及签名sign算法工具类
- 下单生成sign签名以及xml整体流程代码实现一
- 调用微信统一下单接口获取相应map拿到二维码地址
- 二维码地址转换为图片让用户扫码支付
- 微信回调处理之更新订单状态和幂等性讲解
- springboot当中开启事务
- 定义全局异常类
- 项目当中Logback或者log4j增加打点日志
- 前后端联调注意事项
- springboot当中解决跨域问题
- 打包以及后台运行以及前端部署
- 多节点集群部署