You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@struts.apache.org by "Lukasz Lenart (Jira)" <ji...@apache.org> on 2026/06/24 13:05:00 UTC
[jira] [Updated] (WW-5637) Global Configuration to Disable CSP Interceptor in Struts 2
[ https://issues.apache.org/jira/browse/WW-5637?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Lukasz Lenart updated WW-5637:
------------------------------
Fix Version/s: 7.3.0
> Global Configuration to Disable CSP Interceptor in Struts 2
> -----------------------------------------------------------
>
> Key: WW-5637
> URL: https://issues.apache.org/jira/browse/WW-5637
> Project: Struts 2
> Issue Type: Improvement
> Components: Core Interceptors
> Reporter: Chandru10
> Priority: Major
> Fix For: 7.3.0
>
>
> We are planning to use our own CSP implementation and therefore need to disable the default CSP header added by the Struts 2 framework. Currently, there is no global mechanism available to disable the CSP interceptor and prevent the framework from generating the default CSP header.
> The only available approach is to define a custom interceptor stack in struts.xml
> {code:java}
> <package name="custom-default" extends="struts-default"> <interceptors> <interceptor-stack name="customStack"> <interceptor-ref name="defaultStack"> <param name="csp.disabled">true</param> </interceptor-ref> </interceptor-stack> </interceptors> <default-interceptor-ref name="customStack" /> </package>
> {code}
> create separate packages, and ensure all modules use those packages. This requires modifications across multiple configuration files and becomes difficult to maintain in large applications since we have struts-*.xml multiple xml file which extends struts-default package.
>
>
> An alternative approach of extending CspSettingsAware (or similar CSP-related interfaces/classes) is also not practical, as it would require changes to every action class in the application.
>
> It would be beneficial to provide a global configuration option (similar to existing Struts constants) that allows enabling or disabling the CSP interceptor application-wide through struts.xml or struts.properties, for example
> {code:java}
> <constant name="struts.csp.enabled" value="false"/> {code}
>
> *Use Case:*
> Applications that have their own CSP implementation or are in the process of gradually adopting CSP need a simple, centralized way to disable the built-in CSP interceptor and its default header generation without extensive configuration changes across modules.
> Could you please let me know whether providing a global configuration option for disabling the CSP interceptor would be feasible? If not, is there any recommended workaround that avoids the need for creating custom interceptor stacks/packages and making modifications across multiple configuration files or action classes?
--
This message was sent by Atlassian Jira
(v8.20.10#820010)