Pre Merge pull request !1123 from coolance/springboot3
commit
2c438ad6f7
|
|
@ -47,26 +47,4 @@ public class ResourcesConfig implements WebMvcConfigurer
|
||||||
{
|
{
|
||||||
registry.addInterceptor(repeatSubmitInterceptor).addPathPatterns("/**");
|
registry.addInterceptor(repeatSubmitInterceptor).addPathPatterns("/**");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 跨域配置
|
|
||||||
*/
|
|
||||||
@Bean
|
|
||||||
public CorsFilter corsFilter()
|
|
||||||
{
|
|
||||||
CorsConfiguration config = new CorsConfiguration();
|
|
||||||
// 设置访问源地址
|
|
||||||
config.addAllowedOriginPattern("*");
|
|
||||||
// 设置访问源请求头
|
|
||||||
config.addAllowedHeader("*");
|
|
||||||
// 设置访问源请求方法
|
|
||||||
config.addAllowedMethod("*");
|
|
||||||
// 有效期 1800秒
|
|
||||||
config.setMaxAge(1800L);
|
|
||||||
// 添加映射路径,拦截一切请求
|
|
||||||
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
|
|
||||||
source.registerCorsConfiguration("/**", config);
|
|
||||||
// 返回新的CorsFilter
|
|
||||||
return new CorsFilter(source);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
@ -13,12 +13,18 @@ import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
|
||||||
import org.springframework.security.web.SecurityFilterChain;
|
import org.springframework.security.web.SecurityFilterChain;
|
||||||
import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter;
|
import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter;
|
||||||
import org.springframework.security.web.authentication.logout.LogoutFilter;
|
import org.springframework.security.web.authentication.logout.LogoutFilter;
|
||||||
|
import org.springframework.web.cors.CorsConfiguration;
|
||||||
|
import org.springframework.web.cors.CorsConfigurationSource;
|
||||||
|
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
|
||||||
import org.springframework.web.filter.CorsFilter;
|
import org.springframework.web.filter.CorsFilter;
|
||||||
import com.ruoyi.framework.config.properties.PermitAllUrlProperties;
|
import com.ruoyi.framework.config.properties.PermitAllUrlProperties;
|
||||||
import com.ruoyi.framework.security.filter.JwtAuthenticationTokenFilter;
|
import com.ruoyi.framework.security.filter.JwtAuthenticationTokenFilter;
|
||||||
import com.ruoyi.framework.security.handle.AuthenticationEntryPointImpl;
|
import com.ruoyi.framework.security.handle.AuthenticationEntryPointImpl;
|
||||||
import com.ruoyi.framework.security.handle.LogoutSuccessHandlerImpl;
|
import com.ruoyi.framework.security.handle.LogoutSuccessHandlerImpl;
|
||||||
|
|
||||||
|
import java.time.Duration;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* spring security配置
|
* spring security配置
|
||||||
*
|
*
|
||||||
|
|
@ -46,12 +52,6 @@ public class SecurityConfig
|
||||||
@Autowired
|
@Autowired
|
||||||
private JwtAuthenticationTokenFilter authenticationTokenFilter;
|
private JwtAuthenticationTokenFilter authenticationTokenFilter;
|
||||||
|
|
||||||
/**
|
|
||||||
* 跨域过滤器
|
|
||||||
*/
|
|
||||||
@Autowired
|
|
||||||
private CorsFilter corsFilter;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 允许匿名访问的地址
|
* 允许匿名访问的地址
|
||||||
*/
|
*/
|
||||||
|
|
@ -112,8 +112,7 @@ public class SecurityConfig
|
||||||
// 添加JWT filter
|
// 添加JWT filter
|
||||||
.addFilterBefore(authenticationTokenFilter, UsernamePasswordAuthenticationFilter.class)
|
.addFilterBefore(authenticationTokenFilter, UsernamePasswordAuthenticationFilter.class)
|
||||||
// 添加CORS filter
|
// 添加CORS filter
|
||||||
.addFilterBefore(corsFilter, JwtAuthenticationTokenFilter.class)
|
.cors(cors -> cors.configurationSource(corsConfigurationSource()))
|
||||||
.addFilterBefore(corsFilter, LogoutFilter.class)
|
|
||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -125,4 +124,17 @@ public class SecurityConfig
|
||||||
{
|
{
|
||||||
return new BCryptPasswordEncoder();
|
return new BCryptPasswordEncoder();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Bean
|
||||||
|
CorsConfigurationSource corsConfigurationSource() {
|
||||||
|
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
|
||||||
|
CorsConfiguration configuration = new CorsConfiguration();
|
||||||
|
configuration.setAllowCredentials(true);
|
||||||
|
configuration.setAllowedOrigins(List.of("*"));
|
||||||
|
configuration.setAllowedMethods(List.of("*"));
|
||||||
|
configuration.setAllowedHeaders(List.of("*"));
|
||||||
|
configuration.setMaxAge(Duration.ofMinutes(30L));
|
||||||
|
source.registerCorsConfiguration("/**", configuration);
|
||||||
|
return source;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue