SpringBoot中使用拦截器

1、创建拦截器类,实现 HandlerInterceptor接口

public class LoginInterceptor implements HandlerInterceptor {
    Logger logger = LoggerFactory.getLogger(LoginInterceptor.class);
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        logger.info("进入拦截器");
        final Object user = request.getSession().getAttribute("user");
        if (user==null){
            response.sendRedirect("/User/login");
            return false;
        }else {
            return true;
        }

    }
}

2、注册拦截器,并设置需要拦截的url

@Configuration
public class PageConfig implements WebMvcConfigurer {
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        
        //根据需求设置 不需要拦截的
        List<String> exclude=new ArrayList<>();
        exclude.add("/User/login");
        exclude.add("/User/loginTo");
        exclude.add("/js/**");

        //需要拦截的
        registry.addInterceptor(new LoginInterceptor()).addPathPatterns("/**").excludePathPatterns(exclude);

    }
原文地址:https://www.cnblogs.com/harriets-zhang/p/14498181.html