| | |
| | | package com.moral.api.config.Interceptor; |
| | | |
| | | import org.springframework.boot.context.properties.ConfigurationProperties; |
| | | import org.springframework.boot.system.ApplicationHome; |
| | | import org.springframework.context.annotation.Bean; |
| | | import org.springframework.context.annotation.Configuration; |
| | | import org.springframework.web.servlet.config.annotation.InterceptorRegistry; |
| | | import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; |
| | | import org.springframework.web.servlet.config.annotation.*; |
| | | |
| | | import com.moral.api.interceptor.AuthenticationInterceptor; |
| | | import java.util.ArrayList; |
| | | |
| | | import com.moral.api.interceptor.WebInterceptor; |
| | | |
| | | @Configuration |
| | | public class WebAppConfiguration implements WebMvcConfigurer { |
| | | |
| | | //读取不需拦截路径 |
| | | @Bean |
| | | @ConfigurationProperties("mvc.interceptor.exclude") |
| | | public ArrayList<String> getExcludePath() { |
| | | return new ArrayList<>(); |
| | | } |
| | | |
| | | @Override |
| | | public void addInterceptors(InterceptorRegistry registry) { |
| | | registry.addInterceptor(new AuthenticationInterceptor()) |
| | | .addPathPatterns("/**") |
| | | .excludePathPatterns("/**/login/**", "/**/logout/**", "/swagger-ui.html/**", "/swagger-resources/**","/**/verificationCode/**","/**/user/**"); |
| | | InterceptorRegistration regisration = registry.addInterceptor(new WebInterceptor()); |
| | | ArrayList<String> excludePath = getExcludePath(); |
| | | regisration.addPathPatterns("/**/**");//设置拦截路径 |
| | | regisration.excludePathPatterns(excludePath);//设置不拦截路径 |
| | | } |
| | | |
| | | /** |
| | | * 添加静态资源文件,外部可以直接访问地址 |
| | | * |
| | | * @param registry |
| | | */ |
| | | @Override |
| | | public void addResourceHandlers(ResourceHandlerRegistry registry) { |
| | | try { |
| | | ApplicationHome h = new ApplicationHome(getClass()); |
| | | //在jar包所在目录下生成一个upload文件夹用来存储上传的图片 |
| | | String path = h.getSource().getParentFile().toString() + "/static/"; |
| | | registry.addResourceHandler("/static/**").addResourceLocations("file:" + path); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | | |
| | | } |
| | | } |