Версия загрузки Spring: 2.2.6.RELEASE
Я переношу устаревшее приложение на Spring Boot. В устаревшем приложении на сервере. xml Tomcat у меня была следующая конфигурация Realm:
<Valve className="com.test.realm.AuthServletValve" />
<Valve className="org.apache.catalina.authenticator.SingleSignOn" />
<Valve className="org.apache.catalina.valves.ErrorReportValve" showReport="false" showServerInfo="false" />
</Host>
Я пытаюсь преобразовать эту конфигурацию в конфигурацию Spring класс со следующим кодом:
@Configuration
public class TomcatConfiguration {
@Bean
public ConfigurableServletWebServerFactory servletContainer() {
TomcatServletWebServerFactory factory = new TomcatServletWebServerFactory();
factory.addContextCustomizers(TomcatConfiguration::customize);
factory.addEngineValves(new SingleSignOn());
factory.addEngineValves(new ErrorReportValve());
factory.addContextValves(new AuthServletValve());
return factory;
}
private static void customize(Context context) {
context.setRealm(new AuthServletRealm());
context.addConstraint(createSecurityConstraint());
}
private static SecurityConstraint createSecurityConstraint() {
SecurityConstraint securityConstraint = new SecurityConstraint();
SecurityCollection securityCollection = new SecurityCollection();
securityCollection.addPattern("/*");
securityConstraint.addCollection(securityCollection);
return securityConstraint;
}
}
Клапаны вызываются правильно, но мой AuthServletValve не вызывается. Я ожидаю, что при каждом вызове моего Spring Boot API вызывается AuthServletValve для получения принципала. Но ничего