动态更新 Cors 注册表

lam*_*bad 5 java spring spring-mvc cors spring-boot

我在 heroku 上有一个应用程序,它返回一些 oauth 令牌。在我的 Spring Boot 应用程序中,我使用了 WebMvcConfigurerAdapter 从数据库获取来源列表。

return new WebMvcConfigurerAdapter() {
            @Override
            public void addCorsMappings(CorsRegistry registry) {
                String[] origins = new String[originList.size()];
                origins = originList.toArray(origins);
                registry.addMapping("/getToken").allowedHeaders("Allow-access-control-origin").allowedOrigins(origins);
            }
        };
Run Code Online (Sandbox Code Playgroud)

现在,在heroku应用程序中有一个文本区域,用户可以在其中更新其域名,用户可以添加多个域。如果用户想要添加多个域,则域将以逗号分隔并直接放入数据库中。稍后在 corsConfigurer() 方法中,我解析域名并获取所有域名并将其列入白名单。

每次用户更新或添加域时,服务器都会重新启动以包含所有更改。

在 Spring 或 Java EE 中,我可以使 cors 注册表在其白名单注册表中动态添加更新或新插入的源,而无需重新启动服务器。

(我在 SO 上搜索了这个问题,但没有找到任何可接受的答案)

谢谢