У меня есть приложение для весенней загрузки, и я хочу включить HSTS в своем домене (скажем, https: example.com). Я написал сценарий в WebSecurityConfigurerAdapter. Фрагмент кода показан ниже.
@EnableWebSecurity
@Configuration
@Order(1)
public static class ApiWebSecurityConfigurationAdapter extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
// @formatter:off
http
.authorizeRequests()
.antMatchers(HttpMethod.TRACE, "/**").denyAll()
.antMatchers("/**").permitAll();
http
.antMatcher("/**").httpBasic()
.and().csrf().disable()
.headers().httpStrictTransportSecurity()
.includeSubDomains(true)
.maxAgeInSeconds(31536000);
// @formatter:on
}
}
Развертывание приложения весенней загрузки произошло в облаке Azure. После развертывания я не вижу заголовок HSTS, когда попадаю в базовый домен. Но я могу видеть заголовок при нажатии на весь URL-адрес (скажем, https://example.com/questions/ask). Любая помощь будет оценена по достоинству. Спасибо!
Вы имеете в виду удаление приведенного ниже кода .antMatcher ("/ **"). HttpBasic () из конфигурации
Нет, только часть antMatcher этой линейки.
Извините, я не уловил ... Не могли бы вы отредактировать и загрузить сюда. Спасибо!
Измените antMatcher("/**").httpBasic() на httpBasic().
Обновлен и развернут снова. Все равно не повезло
Опять же, я задам вопрос: эта страница обслуживается этим приложением или статическая страница не обслуживается вашим приложением? Если это приветственная страница для вашего сервера приложений (вы упомянули развернутый, так что это запускает меня для сервера приложений), которая не будет проходить через эту цепочку фильтров afaik, и, следовательно, она не применяется.
Эта страница обслуживается приложением, потому что я внес изменение ".antMatchers (HttpMethod.TRACE," / ** "). DenyAll ()" на этой странице и работает должным образом.
Запрос TRACE не является запросом GET. TRACE не обрабатывается вашим сервером, поэтому он передает GET, может обрабатываться вашим сервером. И это не ответ на вопрос, является ли этот приветственный файл (т.е. index.jsp) обслуживаемым сервером (даже если он упакован в ваше приложение, сервер отправит его) или вашим приложением. По-прежнему похоже, что это делает сервер, а не ваше приложение.




Удалите
antMatcherв конфигурации базовой аутентификации и т. д. Также действительно ли основной URL-адрес/переходит в приложение / Spring Boot - это статическая целевая страница, обслуживаемая чем-то другим?