我使用Spring 5 Webflux使用基本身份验证。
问题:
当我输入HTTP状态401错误的用户名或密码春天反应变量和包括www-authenticate: Basic realm="Realm"
HTTP头这会导致浏览器弹出的基本身份验证框。
如何删除春5 Webflux是HTTP头? 我必须做一个定制的web过滤器?
下面的代码是在科特林从我的项目复制。但这个想法可以简单地转移到Java。
因此,解决办法是围绕一个定制的网页过滤并列。
@Component
class HttpHeaderWebFilter: WebFilter {
override fun filter(exchange: ServerWebExchange, next: WebFilterChain): Mono<Void> {
return next.filter(exchange).then(Mono.defer {
val headers = exchange.response.headers
if (headers.containsKey("WWW-Authenticate")) {
headers.remove("WWW-Authenticate")
}
Mono.empty<Void>()
})
}
}