Internet explorer 合并Micronaut中IE的CORS响应头

Internet explorer 合并Micronaut中IE的CORS响应头,internet-explorer,cors,micronaut,Internet Explorer,Cors,Micronaut,Micronaut发送多个标题,如下所示: Access-Control-Allow-Headers: content-type Access-Control-Allow-Headers: authorization 这使IE感到困惑,它只看到第一个标题。这会导致请求错误,如“访问控制允许标头列表中不存在请求标头授权” 如果合并了标题,IE可以理解: Access-Control-Allow-Headers: content-type, authorization 我通过如下(使用K

Micronaut发送多个标题,如下所示:

Access-Control-Allow-Headers:   content-type
Access-Control-Allow-Headers: authorization
这使IE感到困惑,它只看到第一个标题。这会导致请求错误,如“访问控制允许标头列表中不存在请求标头授权”

如果合并了标题,IE可以理解:

Access-Control-Allow-Headers:   content-type, authorization
我通过如下(使用Kotlin)替换CorsFilter bean解决了这个问题:

@替换(CorsFilter::class)
类我们的公司过滤器(公司配置:HttpServerConfiguration.corsConfiguration):公司过滤器(公司配置){
覆盖有趣的设置AllowHeaders(可选AllowHeaders:List,response:MutableHttpResponse){
response.header(访问\控制\允许\头,可选AllowHeaders.joinToString())
}
}

然而,这对我来说感觉太过分了,而且最好是在别的地方把它全部修好。是否有其他方法可以解决这个问题,最好使用config?

看起来这甚至是一个边缘问题。请提交一个问题,我们可能会做出一个配置选项,以允许此

您使用的IE的哪个版本不支持多个标题?谢谢James,补充道
@Replaces(CorsFilter::class)
class OurCorsFilter(corsConfiguration: HttpServerConfiguration.CorsConfiguration) : CorsFilter(corsConfiguration) {

    override fun setAllowHeaders(optionalAllowHeaders: List<*>, response: MutableHttpResponse<*>) {
        response.header(ACCESS_CONTROL_ALLOW_HEADERS, optionalAllowHeaders.joinToString())
    }

}