| | |
| | | package com.ruoyi.framework.config;
|
| | |
|
| | | import org.springframework.beans.factory.annotation.Autowired;
|
| | | import org.springframework.context.annotation.Bean;
|
| | | import org.springframework.context.annotation.Configuration;
|
| | | import org.springframework.web.cors.CorsConfiguration;
|
| | | import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
|
| | | import org.springframework.web.filter.CorsFilter;
|
| | | import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
|
| | | import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
|
| | | import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
|
| | | import com.ruoyi.common.config.RuoYiConfig;
|
| | | import com.ruoyi.common.constant.Constants;
|
| | | import com.ruoyi.framework.interceptor.RepeatSubmitInterceptor;
|
| | |
|
| | | /**
|
| | | * 通用配置
|
| | | * |
| | | * @author ruoyi
|
| | | */
|
| | | @Configuration
|
| | | public class ResourcesConfig implements WebMvcConfigurer
|
| | | {
|
| | | @Autowired
|
| | | private RepeatSubmitInterceptor repeatSubmitInterceptor;
|
| | |
|
| | | @Override
|
| | | public void addResourceHandlers(ResourceHandlerRegistry registry)
|
| | | {
|
| | | /** 本地文件上传路径 */
|
| | | registry.addResourceHandler(Constants.RESOURCE_PREFIX + "/**").addResourceLocations("file:" + RuoYiConfig.getProfile() + "/");
|
| | |
|
| | | /** swagger配置 */
|
| | | registry.addResourceHandler("swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/");
|
| | | registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
|
| | | }
|
| | |
|
| | | /**
|
| | | * 自定义拦截规则
|
| | | */
|
| | | @Override
|
| | | public void addInterceptors(InterceptorRegistry registry)
|
| | | {
|
| | | registry.addInterceptor(repeatSubmitInterceptor).addPathPatterns("/**");
|
| | | }
|
| | |
|
| | | /**
|
| | | * 跨域配置
|
| | | */
|
| | | @Bean
|
| | | public CorsFilter corsFilter()
|
| | | {
|
| | | UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
|
| | | CorsConfiguration config = new CorsConfiguration();
|
| | | config.setAllowCredentials(true);
|
| | | // 设置访问源地址
|
| | | config.addAllowedOrigin("*");
|
| | | // 设置访问源请求头
|
| | | config.addAllowedHeader("*");
|
| | | // 设置访问源请求方法
|
| | | config.addAllowedMethod("*");
|
| | | // 对接口配置跨域设置
|
| | | source.registerCorsConfiguration("/**", config);
|
| | | return new CorsFilter(source);
|
| | | }
|
| | | package com.ruoyi.framework.config; |
| | | |
| | | import com.ruoyi.framework.Interceptor.PlusWebInvokeTimeInterceptor; |
| | | import com.yomahub.tlog.web.interceptor.TLogWebInterceptor; |
| | | import org.springframework.context.annotation.Bean; |
| | | import org.springframework.context.annotation.Configuration; |
| | | import org.springframework.web.cors.CorsConfiguration; |
| | | import org.springframework.web.cors.UrlBasedCorsConfigurationSource; |
| | | import org.springframework.web.filter.CorsFilter; |
| | | import org.springframework.web.servlet.config.annotation.InterceptorRegistry; |
| | | import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; |
| | | import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; |
| | | |
| | | /** |
| | | * 通用配置 |
| | | * |
| | | * @author Lion Li |
| | | */ |
| | | @Configuration |
| | | public class ResourcesConfig implements WebMvcConfigurer { |
| | | |
| | | @Override |
| | | public void addResourceHandlers(ResourceHandlerRegistry registry) { |
| | | } |
| | | |
| | | @Override |
| | | public void addInterceptors(InterceptorRegistry registry) { |
| | | // 全局链路跟踪拦截器 |
| | | registry.addInterceptor(new TLogWebInterceptor()); |
| | | // 全局访问性能拦截 |
| | | registry.addInterceptor(new PlusWebInvokeTimeInterceptor()); |
| | | } |
| | | |
| | | /** |
| | | * 跨域配置 |
| | | */ |
| | | @Bean |
| | | public CorsFilter corsFilter() { |
| | | CorsConfiguration config = new CorsConfiguration(); |
| | | config.setAllowCredentials(true); |
| | | // 设置访问源地址 |
| | | config.addAllowedOriginPattern("*"); |
| | | // 设置访问源请求头 |
| | | config.addAllowedHeader("*"); |
| | | // 设置访问源请求方法 |
| | | config.addAllowedMethod("*"); |
| | | // 有效期 1800秒 |
| | | config.setMaxAge(1800L); |
| | | // 添加映射路径,拦截一切请求 |
| | | UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(); |
| | | source.registerCorsConfiguration("/**", config); |
| | | // 返回新的CorsFilter |
| | | return new CorsFilter(source); |
| | | } |
| | | } |