后端开发5——springboot添加拦截器

1 添加拦截器配置config——InterceptorConfig

拦截器配置类用于在服务启动时配置拦截器。

点击展开
package com.ruoyi.trustedAsset.config;
import com.ruoyi.trustedAsset.interceptor.AuthorityInterceptor; import …
@Configuration public class InterceptorConfig extends WebMvcConfigurationSupport { @Bean public AuthorityInterceptor loginInterceptor(){ return new AuthorityInterceptor(); } @Override protected void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(loginInterceptor()) .addPathPatterns("/**") // 要拦截的请求 .excludePathPatterns("/trustedAsset/getBlocks"); // 不拦截的请求 super.addInterceptors(registry); } }

2 添加拦截器interceptor——xxxInterceptor

拦截器的实现类。

点击展开
package com.wrj.interceptor;
import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.ModelAndView; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;
public class AuthorityInterceptor implements HandlerInterceptor { //controller方法调用之前执行 @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { //获取请求头中的token String token= request.getHeader("Authorization"); if(token==null){ response.setContentType("application/json; charset=utf-8"); response.getWriter().write("无访问权限"); return false; } System.out.println("权限拦截器"); return true; } //controller方法处理完成后执行 @Override public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { System.out.println("拦截后执行"); } }

说明:preHandle返回true则会继续执行controller方法,返回false则会直接返回请求错误信息。

posted @ 2024-06-15 00:14  wrj的博客  阅读(3)  评论(0)    收藏  举报