Spring Webflux: удалить заголовок WWW-аутентификации - PullRequest
0 голосов
/ 09 мая 2018

Я использую Spring 5 Webflux с базовой аутентификацией.

Проблема:
Когда я набираю неправильное имя пользователя или пароль, пружина отвечает с помощью Http Status 401 и включает в себя заголовок www-authenticate: Basic realm="Realm" Http, который вызывает всплывающее окно браузера для базовой аутентификации.

Как удалить этот заголовок HTTP в Spring 5 Webflux?
Должен ли я сделать пользовательский веб-фильтр?

1 Ответ

0 голосов
/ 05 февраля 2019

Код ниже в Kotlin скопирован из моего проекта. Но идея может быть просто перенесена в 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>()
        })
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...