Решением этой проблемы является включение упреждающей аутентификации в контексте Tomcat. Предполагая, что вы развертываете с использованием встроенного сервера, вы можете реализовать WebServerFactoryCustomizer
следующим образом:
import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
import org.springframework.boot.web.server.WebServerFactoryCustomizer;
import org.springframework.stereotype.Component;
@Component
public class PreemptiveAuthWebServerCustomizer implements WebServerFactoryCustomizer<TomcatServletWebServerFactory>
{
@Override
public void customize( final TomcatServletWebServerFactory factory )
{
factory.addContextCustomizers( context -> context.setPreemptiveAuthentication( true ) );
}
}
Теперь, если запрос имеет отправленный заголовок авторизации, он всегда будет обрабатываться, даже если запрос не ' t явно позади пути, который требует авторизации.