SpringBoot 拦截器

继承HandlerInterceptorAdapter方法 重写方法

@Component
public class ComInterceptor extends HandlerInterceptorAdapter {
    @Autowired
    IUserDao userDao;
    @Autowired
    IMethodDao methodDao;
    // 请求之前调用(Controller 方法之前调用)
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        HttpSession session = request.getSession();
        User user = (User) session.getAttribute("USER");
        JudgeCast.cast(user, ResponseCode.NOT_LOGIN);
        Site siteInfo = userDao.findSiteByUserId(user.getId());
        Cache.methods = methodDao.findMethodBySiteId(siteInfo.getId());
        System.out.println(Cache.methods);
        return true;
    }
    // 请求处理之后调用
    @Override
    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
        super.postHandle(request, response, handler, modelAndView);
    }
    // 请求结束后调用
    @Override
    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
        super.afterCompletion(request, response, handler, ex);
    }
}

 

添加配置类

 

@Configuration
public class WebAppConfig implements WebMvcConfigurer {
    @Autowired
    ComInterceptor commonInterceptor;
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(commonInterceptor)
                .addPathPatterns("/**")
                // 放行路径
                .excludePathPatterns("/login","/logOut")
                // 放行swagger
                .excludePathPatterns("/swagger-resources/**", "/webjars/**", "/v2/**", "/swagger-ui.html/**");
    }
}

 

posted @ 2020-03-31 11:55  辰梓悦  阅读(180)  评论(0编辑  收藏  举报