SpringBoot interceptor implements login check

Write an interceptor to implement the HandlerInterceptor interface:

public class LoginInterceptor implements HandlerInterceptor {
    
    

    /**
     * 目标方法执行之前
     * @param request
     * @param response
     * @param handler
     * @return
     * @throws Exception
     */
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
    
    
        //登录检查
        HttpSession session = request.getSession();
        Object loginUser = session.getAttribute("loginUser");
        if (loginUser != null) {
    
    
            //放行
            return true;
        }
        //拦截
        return false;
    }

    /**
     * 目标方法执行完成之后
     * @param request
     * @param response
     * @param handler
     * @param modelAndView
     * @throws Exception
     */
    @Override
    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
    
    

    }

    /**
     * 页面渲染以后
     * @param request
     * @param response
     * @param handler
     * @param ex
     * @throws Exception
     */
    @Override
    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
    
    

    }
}

Register the interceptor in the container:

@Configuration
public class AdminWebConfig implements WebMvcConfigurer {
    
    

    @Override
    public void addInterceptors(InterceptorRegistry registry) {
    
    
        //指定拦截器
        registry.addInterceptor(new LoginInterceptor())
                //指定拦截所有请求
                .addPathPatterns("/**")
                //指定放行登录和注册请求
                .excludePathPatterns("/login", "register");
    }
}

Guess you like

Origin blog.csdn.net/lyc686/article/details/113097483