spring boot項目攔截器

import org.springframework.stereotype.Component;
import org.springframework.web.servlet.HandlerInterceptor;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@Component
public class LoginInterceptor implements HandlerInterceptor {

    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object o) throws  Exception{
//        System.out.println(request.getRequestURI());
        Object obj = request.getSession().getAttribute("session_user");
        if (request.getRequestURI().equals("/login")){
            return true;
        }
        if (obj == null){
            response.sendRedirect("/login");
            return  false;
        }
        return true;
    }
}

 

 

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

@Configuration
public class WebConfigurer implements WebMvcConfigurer {

    //配置攔截器
    public void addInterceptors(InterceptorRegistry registry){
        //registry.addInterceptor此方法添加攔截器
        System.out.println("方法");
        registry.addInterceptor(new LoginInterceptor()).addPathPatterns("/**")
                .excludePathPatterns(
                        "/static/**",
                        "/login/**",
                        "/dist/**",
                        "/image/**",
                        "/js/**",
                        "/plugins/**",
                        "/css/**"
                );//須要配置2:----------- 告知攔截器:/static/admin/** 與 /static/user/** 不須要攔截 (配置的是 路徑)
    }

    /**
     * 添加靜態資源文件,外部能夠直接訪問地址
     * @param registry
     */
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        //須要配置1:----------- 須要告知系統,這是要被當成靜態文件的!
        //第一個方法設置訪問路徑前綴,第二個方法設置資源路徑
        System.out.println("靜態");
        registry.addResourceHandler("/static/**").addResourceLocations("/static");
    }
}
相關文章
相關標籤/搜索