Class ResponseHeadersEnforcementFilter
- java.lang.Object
-
- org.apereo.cas.web.support.filters.AbstractSecurityFilter
-
- org.apereo.cas.web.support.filters.ResponseHeadersEnforcementFilter
-
- All Implemented Interfaces:
javax.servlet.Filter
- Direct Known Subclasses:
RegisteredServiceResponseHeadersEnforcementFilter
public class ResponseHeadersEnforcementFilter extends AbstractSecurityFilter implements javax.servlet.Filter
Allows users to easily inject the default security headers to assist in protecting the application. The default for is to include the following headers: <pre> Cache-Control: no-cache, no-store, max-age=0, must-revalidate Pragma: no-cache Expires: 0 X-Content-Type-Options: nosniff Strict-Transport-Security: max-age=15768000 ; includeSubDomains X-Frame-Options: DENY X-XSS-Protection: 1; mode=block </pre>- Since:
- 6.1.0
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringINIT_PARAM_CACHE_CONTROL_STATIC_RESOURCESStatic resources file extension values.static java.lang.StringINIT_PARAM_CONTENT_SECURITY_POLICYConsent security policy.static java.lang.StringINIT_PARAM_ENABLE_CACHE_CONTROLEnable CACHE_CONTROL.static java.lang.StringINIT_PARAM_ENABLE_STRICT_TRANSPORT_SECURITYEnable STRICT_TRANSPORT_SECURITY.static java.lang.StringINIT_PARAM_ENABLE_STRICT_XFRAME_OPTIONSEnable STRICT_XFRAME_OPTIONS.static java.lang.StringINIT_PARAM_ENABLE_XCONTENT_OPTIONSEnable XCONTENT_OPTIONS.static java.lang.StringINIT_PARAM_ENABLE_XSS_PROTECTIONEnable XSS_PROTECTION.static java.lang.StringINIT_PARAM_STRICT_XFRAME_OPTIONSThe constant INIT_PARAM_STRICT_XFRAME_OPTIONS.static java.lang.StringINIT_PARAM_XSS_PROTECTIONXSS protection value.-
Fields inherited from class org.apereo.cas.web.support.filters.AbstractSecurityFilter
THROW_ON_ERROR
-
-
Constructor Summary
Constructors Constructor Description ResponseHeadersEnforcementFilter()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voiddecideInsertCacheControlHeader(javax.servlet.http.HttpServletResponse httpServletResponse, javax.servlet.http.HttpServletRequest httpServletRequest, java.util.Optional<java.lang.Object> result)Decide insert cache control header.protected voiddecideInsertContentSecurityPolicyHeader(javax.servlet.http.HttpServletResponse httpServletResponse, javax.servlet.http.HttpServletRequest httpServletRequest, java.util.Optional<java.lang.Object> result)Decide insert content security policy header.protected voiddecideInsertStrictTransportSecurityHeader(javax.servlet.http.HttpServletResponse httpServletResponse, javax.servlet.http.HttpServletRequest httpServletRequest, java.util.Optional<java.lang.Object> result)Decide insert strict transport security header.protected voiddecideInsertXContentTypeOptionsHeader(javax.servlet.http.HttpServletResponse httpServletResponse, javax.servlet.http.HttpServletRequest httpServletRequest, java.util.Optional<java.lang.Object> result)Decide insert x content type options header.protected voiddecideInsertXFrameOptionsHeader(javax.servlet.http.HttpServletResponse httpServletResponse, javax.servlet.http.HttpServletRequest httpServletRequest, java.util.Optional<java.lang.Object> result)Decide insert x frame options header.protected voiddecideInsertXSSProtectionHeader(javax.servlet.http.HttpServletResponse httpServletResponse, javax.servlet.http.HttpServletRequest httpServletRequest, java.util.Optional<java.lang.Object> result)Decide insert xss protection header.voiddestroy()voiddoFilter(javax.servlet.ServletRequest servletRequest, javax.servlet.ServletResponse servletResponse, javax.servlet.FilterChain filterChain)voidinit(javax.servlet.FilterConfig filterConfig)protected voidinsertCacheControlHeader(javax.servlet.http.HttpServletResponse httpServletResponse, javax.servlet.http.HttpServletRequest httpServletRequest)Insert cache control header.protected voidinsertCacheControlHeader(javax.servlet.http.HttpServletResponse httpServletResponse, javax.servlet.http.HttpServletRequest httpServletRequest, java.lang.String value)Insert cache control header.protected voidinsertContentSecurityPolicyHeader(javax.servlet.http.HttpServletResponse httpServletResponse, javax.servlet.http.HttpServletRequest httpServletRequest)Insert content security policy header.protected voidinsertContentSecurityPolicyHeader(javax.servlet.http.HttpServletResponse httpServletResponse, javax.servlet.http.HttpServletRequest httpServletRequest, java.lang.String contentSecurityPolicy)Insert content security policy header.protected voidinsertStrictTransportSecurityHeader(javax.servlet.http.HttpServletResponse httpServletResponse, javax.servlet.http.HttpServletRequest httpServletRequest)Insert strict transport security header.protected voidinsertStrictTransportSecurityHeader(javax.servlet.http.HttpServletResponse httpServletResponse, javax.servlet.http.HttpServletRequest httpServletRequest, java.lang.String strictTransportSecurityHeader)Insert strict transport security header.protected voidinsertXContentTypeOptionsHeader(javax.servlet.http.HttpServletResponse httpServletResponse, javax.servlet.http.HttpServletRequest httpServletRequest)Insert x content type options header.protected voidinsertXContentTypeOptionsHeader(javax.servlet.http.HttpServletResponse httpServletResponse, javax.servlet.http.HttpServletRequest httpServletRequest, java.lang.String value)Insert x content type options header.protected voidinsertXFrameOptionsHeader(javax.servlet.http.HttpServletResponse httpServletResponse, javax.servlet.http.HttpServletRequest httpServletRequest)Insert x frame options header.protected voidinsertXFrameOptionsHeader(javax.servlet.http.HttpServletResponse httpServletResponse, javax.servlet.http.HttpServletRequest httpServletRequest, java.lang.String value)Insert x frame options header.protected voidinsertXSSProtectionHeader(javax.servlet.http.HttpServletResponse httpServletResponse, javax.servlet.http.HttpServletRequest httpServletRequest)Insert xss protection header.protected voidinsertXSSProtectionHeader(javax.servlet.http.HttpServletResponse httpServletResponse, javax.servlet.http.HttpServletRequest httpServletRequest, java.lang.String value)Insert xss protection header.protected java.util.Optional<java.lang.Object>prepareFilterBeforeExecution(javax.servlet.http.HttpServletResponse httpServletResponse, javax.servlet.http.HttpServletRequest httpServletRequest)Prepare filter before execution and provide optional.-
Methods inherited from class org.apereo.cas.web.support.filters.AbstractSecurityFilter
isThrowOnErrors, logException, setThrowOnErrors
-
-
-
-
Field Detail
-
INIT_PARAM_ENABLE_CACHE_CONTROL
public static final java.lang.String INIT_PARAM_ENABLE_CACHE_CONTROL
Enable CACHE_CONTROL.- See Also:
- Constant Field Values
-
INIT_PARAM_ENABLE_XCONTENT_OPTIONS
public static final java.lang.String INIT_PARAM_ENABLE_XCONTENT_OPTIONS
Enable XCONTENT_OPTIONS.- See Also:
- Constant Field Values
-
INIT_PARAM_ENABLE_STRICT_TRANSPORT_SECURITY
public static final java.lang.String INIT_PARAM_ENABLE_STRICT_TRANSPORT_SECURITY
Enable STRICT_TRANSPORT_SECURITY.- See Also:
- Constant Field Values
-
INIT_PARAM_ENABLE_STRICT_XFRAME_OPTIONS
public static final java.lang.String INIT_PARAM_ENABLE_STRICT_XFRAME_OPTIONS
Enable STRICT_XFRAME_OPTIONS.- See Also:
- Constant Field Values
-
INIT_PARAM_STRICT_XFRAME_OPTIONS
public static final java.lang.String INIT_PARAM_STRICT_XFRAME_OPTIONS
The constant INIT_PARAM_STRICT_XFRAME_OPTIONS.- See Also:
- Constant Field Values
-
INIT_PARAM_ENABLE_XSS_PROTECTION
public static final java.lang.String INIT_PARAM_ENABLE_XSS_PROTECTION
Enable XSS_PROTECTION.- See Also:
- Constant Field Values
-
INIT_PARAM_XSS_PROTECTION
public static final java.lang.String INIT_PARAM_XSS_PROTECTION
XSS protection value.- See Also:
- Constant Field Values
-
INIT_PARAM_CONTENT_SECURITY_POLICY
public static final java.lang.String INIT_PARAM_CONTENT_SECURITY_POLICY
Consent security policy.- See Also:
- Constant Field Values
-
INIT_PARAM_CACHE_CONTROL_STATIC_RESOURCES
public static final java.lang.String INIT_PARAM_CACHE_CONTROL_STATIC_RESOURCES
Static resources file extension values.- See Also:
- Constant Field Values
-
-
Method Detail
-
init
public void init(javax.servlet.FilterConfig filterConfig)
- Specified by:
initin interfacejavax.servlet.Filter
-
doFilter
public void doFilter(javax.servlet.ServletRequest servletRequest, javax.servlet.ServletResponse servletResponse, javax.servlet.FilterChain filterChain) throws java.io.IOException, javax.servlet.ServletException- Specified by:
doFilterin interfacejavax.servlet.Filter- Throws:
java.io.IOExceptionjavax.servlet.ServletException
-
destroy
public void destroy()
- Specified by:
destroyin interfacejavax.servlet.Filter
-
prepareFilterBeforeExecution
protected java.util.Optional<java.lang.Object> prepareFilterBeforeExecution(javax.servlet.http.HttpServletResponse httpServletResponse, javax.servlet.http.HttpServletRequest httpServletRequest)Prepare filter before execution and provide optional.- Parameters:
httpServletResponse- the http servlet responsehttpServletRequest- the http servlet request- Returns:
- the optional
-
decideInsertContentSecurityPolicyHeader
protected void decideInsertContentSecurityPolicyHeader(javax.servlet.http.HttpServletResponse httpServletResponse, javax.servlet.http.HttpServletRequest httpServletRequest, java.util.Optional<java.lang.Object> result)Decide insert content security policy header.- Parameters:
httpServletResponse- the http servlet responsehttpServletRequest- the http servlet requestresult- the result
-
insertContentSecurityPolicyHeader
protected void insertContentSecurityPolicyHeader(javax.servlet.http.HttpServletResponse httpServletResponse, javax.servlet.http.HttpServletRequest httpServletRequest)Insert content security policy header.- Parameters:
httpServletResponse- the http servlet responsehttpServletRequest- the http servlet request
-
insertContentSecurityPolicyHeader
protected void insertContentSecurityPolicyHeader(javax.servlet.http.HttpServletResponse httpServletResponse, javax.servlet.http.HttpServletRequest httpServletRequest, java.lang.String contentSecurityPolicy)Insert content security policy header.- Parameters:
httpServletResponse- the http servlet responsehttpServletRequest- the http servlet requestcontentSecurityPolicy- the content security policy
-
decideInsertXSSProtectionHeader
protected void decideInsertXSSProtectionHeader(javax.servlet.http.HttpServletResponse httpServletResponse, javax.servlet.http.HttpServletRequest httpServletRequest, java.util.Optional<java.lang.Object> result)Decide insert xss protection header.- Parameters:
httpServletResponse- the http servlet responsehttpServletRequest- the http servlet requestresult- the result
-
insertXSSProtectionHeader
protected void insertXSSProtectionHeader(javax.servlet.http.HttpServletResponse httpServletResponse, javax.servlet.http.HttpServletRequest httpServletRequest)Insert xss protection header.- Parameters:
httpServletResponse- the http servlet responsehttpServletRequest- the http servlet request
-
insertXSSProtectionHeader
protected void insertXSSProtectionHeader(javax.servlet.http.HttpServletResponse httpServletResponse, javax.servlet.http.HttpServletRequest httpServletRequest, java.lang.String value)Insert xss protection header.- Parameters:
httpServletResponse- the http servlet responsehttpServletRequest- the http servlet requestvalue- the value
-
decideInsertXFrameOptionsHeader
protected void decideInsertXFrameOptionsHeader(javax.servlet.http.HttpServletResponse httpServletResponse, javax.servlet.http.HttpServletRequest httpServletRequest, java.util.Optional<java.lang.Object> result)Decide insert x frame options header.- Parameters:
httpServletResponse- the http servlet responsehttpServletRequest- the http servlet requestresult- the result
-
insertXFrameOptionsHeader
protected void insertXFrameOptionsHeader(javax.servlet.http.HttpServletResponse httpServletResponse, javax.servlet.http.HttpServletRequest httpServletRequest)Insert x frame options header.- Parameters:
httpServletResponse- the http servlet responsehttpServletRequest- the http servlet request
-
insertXFrameOptionsHeader
protected void insertXFrameOptionsHeader(javax.servlet.http.HttpServletResponse httpServletResponse, javax.servlet.http.HttpServletRequest httpServletRequest, java.lang.String value)Insert x frame options header.- Parameters:
httpServletResponse- the http servlet responsehttpServletRequest- the http servlet requestvalue- the value
-
decideInsertXContentTypeOptionsHeader
protected void decideInsertXContentTypeOptionsHeader(javax.servlet.http.HttpServletResponse httpServletResponse, javax.servlet.http.HttpServletRequest httpServletRequest, java.util.Optional<java.lang.Object> result)Decide insert x content type options header.- Parameters:
httpServletResponse- the http servlet responsehttpServletRequest- the http servlet requestresult- the result
-
insertXContentTypeOptionsHeader
protected void insertXContentTypeOptionsHeader(javax.servlet.http.HttpServletResponse httpServletResponse, javax.servlet.http.HttpServletRequest httpServletRequest)Insert x content type options header.- Parameters:
httpServletResponse- the http servlet responsehttpServletRequest- the http servlet request
-
insertXContentTypeOptionsHeader
protected void insertXContentTypeOptionsHeader(javax.servlet.http.HttpServletResponse httpServletResponse, javax.servlet.http.HttpServletRequest httpServletRequest, java.lang.String value)Insert x content type options header.- Parameters:
httpServletResponse- the http servlet responsehttpServletRequest- the http servlet requestvalue- the value
-
decideInsertCacheControlHeader
protected void decideInsertCacheControlHeader(javax.servlet.http.HttpServletResponse httpServletResponse, javax.servlet.http.HttpServletRequest httpServletRequest, java.util.Optional<java.lang.Object> result)Decide insert cache control header.- Parameters:
httpServletResponse- the http servlet responsehttpServletRequest- the http servlet requestresult- the result
-
insertCacheControlHeader
protected void insertCacheControlHeader(javax.servlet.http.HttpServletResponse httpServletResponse, javax.servlet.http.HttpServletRequest httpServletRequest)Insert cache control header.- Parameters:
httpServletResponse- the http servlet responsehttpServletRequest- the http servlet request
-
insertCacheControlHeader
protected void insertCacheControlHeader(javax.servlet.http.HttpServletResponse httpServletResponse, javax.servlet.http.HttpServletRequest httpServletRequest, java.lang.String value)Insert cache control header.- Parameters:
httpServletResponse- the http servlet responsehttpServletRequest- the http servlet requestvalue- the value
-
decideInsertStrictTransportSecurityHeader
protected void decideInsertStrictTransportSecurityHeader(javax.servlet.http.HttpServletResponse httpServletResponse, javax.servlet.http.HttpServletRequest httpServletRequest, java.util.Optional<java.lang.Object> result)Decide insert strict transport security header.- Parameters:
httpServletResponse- the http servlet responsehttpServletRequest- the http servlet requestresult- the result
-
insertStrictTransportSecurityHeader
protected void insertStrictTransportSecurityHeader(javax.servlet.http.HttpServletResponse httpServletResponse, javax.servlet.http.HttpServletRequest httpServletRequest)Insert strict transport security header.- Parameters:
httpServletResponse- the http servlet responsehttpServletRequest- the http servlet request
-
insertStrictTransportSecurityHeader
protected void insertStrictTransportSecurityHeader(javax.servlet.http.HttpServletResponse httpServletResponse, javax.servlet.http.HttpServletRequest httpServletRequest, java.lang.String strictTransportSecurityHeader)Insert strict transport security header.- Parameters:
httpServletResponse- the http servlet responsehttpServletRequest- the http servlet requeststrictTransportSecurityHeader- the strict transport security header
-
-