📜  ro 如何从 webmvc allowedOrigins 中的应用程序属性中获取价值 (1)

📅  最后修改于: 2023-12-03 14:47:06.218000             🧑  作者: Mango

如何从 webmvc allowedOrigins 中的应用程序属性中获取价值

在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功能,并控制哪些来源允许访问。