Micronaut发送多个标头,如下所示:
Access-Control-Allow-Headers: content-type
Access-Control-Allow-Headers: authorization
这使IE混乱,它仅看到第一个标头。这会导致请求错误,例如“ Access-Control-Allow-Headers列表中没有请求头授权。”
如果标题被合并,则IE可以理解:
Access-Control-Allow-Headers: content-type, authorization
我通过如下替换CorsFilter bean(使用Kotlin)解决了这个问题:
@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())
}
}
但是,这对我来说感觉有点过头了,此外,最好将其固定在其他位置。最好使用config来解决这个问题吗?
答案 0 :(得分:1)
即使在Edge https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/12046299/上,这似乎也是一个问题。请提出问题,我们可能会提供一个配置选项以允许此操作