服务A,服务B同在一个nacos下 服务A和服务B都有Spring Security,让他们自由通信
时间: 2024-05-13 08:13:38 浏览: 6
为了让服务A和服务B自由通信,需要在Spring Security中配置跨域资源共享(CORS)。
1. 在服务A和服务B的Spring Security配置文件中,添加CORS配置:
```
@Configuration
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http.cors().and().authorizeRequests().anyRequest().authenticated().and().httpBasic();
}
@Bean
public CorsConfigurationSource corsConfigurationSource() {
CorsConfiguration configuration = new CorsConfiguration();
configuration.addAllowedOrigin("*");
configuration.addAllowedMethod("*");
configuration.addAllowedHeader("*");
configuration.setAllowCredentials(true);
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
source.registerCorsConfiguration("/**", configuration);
return source;
}
}
```
2. 在服务A和服务B的application.properties文件中,添加Nacos注册中心的配置:
```
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
spring.cloud.nacos.discovery.namespace=xxx
spring.cloud.nacos.discovery.group=xxx
```
3. 配置完成后,服务A和服务B就可以自由通信了。如果还有其他安全措施,需要根据实际情况进行配置。