📅  最后修改于: 2023-12-03 14:47:06.218000             🧑  作者: Mango
在Web开发中,CORS(跨来源资源共享)是一项非常常见的功能。通过CORS,浏览器可以向不同的域或端口请求资源,以便加载远程资源来增加站点的灵活性和有用性。然而,CORS也可能带来安全风险,因此需要进行配置以允许只有指定的来源访问我们的资源。
在Spring中,我们可以使用@CrossOrigin
注解来配置CORS,也可以使用WebMvcConfigurer
中的addCorsMappings
方法来手动配置。在这个过程中,我们经常需要获取allowedOrigins
的值,以了解允许的来源是哪些。
以下是如何从WebMvcConfigurer
中获取allowedOrigins
值的示例代码:
@Configuration
public class MyWebMvcConfigurer implements WebMvcConfigurer {
private final Logger logger = LoggerFactory.getLogger(getClass());
@Value("${spring.mvc.allowedOrigins}")
private String[] allowedOrigins;
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedOrigins(allowedOrigins)
.allowedMethods("*")
.allowedHeaders("*");
}
@PostConstruct
public void printAllowedOrigins() {
logger.info("Allowed Origins: [{}]", String.join(", ", allowedOrigins));
}
}
在上面的代码中,我们注入了spring.mvc.allowedOrigins
属性作为一个String数组,然后在addCorsMappings
方法中使用它来设置允许的来源。另外,我们在使用@PostConstruct
注解的printAllowedOrigins
方法中,将allowedOrigins
的值打印到日志中,以作为调试或验证的目的。
以上是从webmvc allowedOrigins中获取配置值的实现方式,可以方便地为Spring应用程序添加CORS功能,并控制哪些来源允许访问。