您当前的位置: 首页 > 

黑马十次方项目day06-14之拦截器的配置

发布时间:2019-02-16 14:16:23 ,浏览量:5

文章目录
      • 配置JwtInterceptor
      • InterceptorConfig的配置
      • 测试
配置JwtInterceptor

在com.tensquare.user.interceptor包下,创建JwtInterceptor拦截器 内容如下 该拦截器实现了HandlerInterceptor 接口. 重写了preHandle方法,代表在请求的之前进行一些操作. 如果preHandle方法返回true,代表放行该接口,如果返回false,代表该请求被拦截了. 并在该方法类,写了一段输出语句,如果经过了拦截器,那么就会打印这段话

package com.tensquare.user.interceptor; import org.springframework.stereotype.Component; import org.springframework.web.servlet.HandlerInterceptor; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /**
 * 类名称:JwtInterceptor
 * 类描述:jwt的全局拦截器
 *
 * @author: taohongchao
 * 创建时间:2019/2/16 13:56
 * Version 1.0
 */ @Component public class JwtInterceptor implements HandlerInterceptor { @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { System.out.println("经过了拦截器"); //return true代表放行, return false 代表不放行 return true; } } 
InterceptorConfig的配置

在com.tensquare.user.config包写,编写拦截器的配置类 该配置类,继承了WebMvcConfigurationSupport 类,重写了addInterceptors方法. 在addInterceptors方法内, 拦截所有的请求,但是放行登录的请求.

package com.tensquare.user.config; import com.tensquare.user.interceptor.JwtInterceptor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport; /**
 * 类名称:InterceptorConfig
 * 类描述: 拦截器的配置类
 *
 * @author: taohongchao
 * 创建时间:2019/2/16 14:00
 * Version 1.0
 */ @Configuration public class InterceptorConfig extends WebMvcConfigurationSupport { @Autowired private JwtInterceptor jwtInterceptor; /**
     * 方法名: addInterceptors
     * 方法描述: 添加拦截器的规则
     * 修改日期: 2019/2/16 14:02
      * @param registry
     * @return void
     * @author taohongchao
     * @throws
     */ @Override protected void addInterceptors(InterceptorRegistry registry) { //添加jwt的拦截器 registry.addInterceptor(jwtInterceptor) //拦截所有的请求 .addPathPatterns("/**") //放行登录的请求 .excludePathPatterns("/**/login/**"); } } 
测试

启动tensquare_user项目. 发送一个该项目任意的请求, 例如查询所有的管理员 http://localhost:9008/admin 控制台打印如下,代表经过了拦截器,配置成功

关注
打赏
1688896170
查看更多评论

暂无认证

  • 5浏览

    0关注

    115984博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录

0.0872s