<Server port="@tomcat.shutdown.port@" shutdown="SHUTDOWN">
<Listener className="org.apache.catalina.security.SecurityListener" checkedOsUsers="ec2-user" minimumUmask="" />
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
<Listener className="org.apache.catalina.core.JasperListener" />
<Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
<Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />
<filter>
<filter-name>httpHeaderSecurity</filter-name>
<filter-class>org.apache.catalina.filters.HttpHeaderSecurityFilter</filter-class>
<init-param>
<param-name>hstsEnabled</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>blockContentTypeSniffingEnabled</param-name>
<param-value>false</param-value>
</init-param>
<async-supported>true</async-supported>
</filter>
<!-- The mapping for the HTTP header security Filter -->
<filter-mapping>
<filter-name>httpHeaderSecurity</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
</filter-mapping>
What is the recommended way of adding the above equivalent settings to an embedded Tomcat instance within the Apereo CAS Server overlay template based on Maven?
Thanks.
-Mike-
import org.apache.catalina.filters.HttpHeaderSecurityFilter;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import javax.servlet.DispatcherType;
@Configuration
public class Filters {
@Bean
public FilterRegistrationBean httpHeaderSecurityFilter() {
FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean();
HttpHeaderSecurityFilter httpHeaderSecurityFilter = new HttpHeaderSecurityFilter();
filterRegistrationBean.setName("httpHeaderSecurity");
filterRegistrationBean.setFilter(httpHeaderSecurityFilter);
filterRegistrationBean.addInitParameter("hstsEnabled", "false");
filterRegistrationBean.addInitParameter("blockContentTypeSniffingEnabled", "false");
filterRegistrationBean.setAsyncSupported(true);
filterRegistrationBean.setDispatcherTypes(DispatcherType.REQUEST);
filterRegistrationBean.addUrlPatterns("/*");
return filterRegistrationBean;
}
}