У меня есть загрузочное приложение Spring, где конечные точки проходят проверку подлинности через Kerberos.
Все работает нормально, пока я отправляю запросы с моего сервера в качестве хоста:
https://hostname.domain.com/test отправляет
POST https://hostname.domain.com/endpoint
Но когда я меняю имя хоста на другое, оно перестает работать.
https://hostname2.domain.com/test отправляет
POST https://hostname.domain.com/endpoint
Клиент не отправляет заголовок аутентификации (пытается анонимно), поэтому аутентификация не проходит. Пользователь все еще находится на той же машине, просто на другом хосте в том же домене.
Я разрешил cors для такого тестирования, но это не решило проблему:
@Bean
CorsConfigurationSource corsConfigurationSource () {
UrlBasedCorsConfigurationSource source;
source = new UrlBasedCorsConfigurationSource();
CorsConfiguration configuration = new CorsConfiguration();
List<String> all = Collections.singletonList("*");
configuration.setAllowedOrigins(all);
configuration.setAllowedMethods(all);
configuration.setAllowedHeaders(all);
source.registerCorsConfiguration("/**", configuration);
return source;
}
По какой-то причине клиент игнорирует WWW-Authenticate: согласиться и не отвечает с заголовком аутентификации.
Я не сильно разбираюсь в этих проблемах с сетью, поэтому я могу запутать некоторые вещи здесь, но я надеюсь, что у вас проблема.