Class ReadOnlyWebInterfaceManager
java.lang.Object
com.atlassian.confluence.impl.plugin.web.readonly.ReadOnlyWebInterfaceManager
- All Implemented Interfaces:
com.atlassian.plugin.web.api.DynamicWebInterfaceManager,com.atlassian.plugin.web.WebInterfaceManager
public class ReadOnlyWebInterfaceManager
extends Object
implements com.atlassian.plugin.web.api.DynamicWebInterfaceManager
This class/package was introduced as protection against an SSTI vulnerability which leveraged this class to escalate
privileges. Following the removal of
DynamicWebInterfaceManager as a public getter from
ConfluenceActionSupport, the addition of WebFragmentHelper to both
the Struts and Velocity exclusion lists and the introduction of a Velocity method allowlist, this class and its
package are redundant and can be deleted.
It was decided to remove this in Confluence 10.0 to reduce risk. I've intentionally avoided annotating this class
with @Deprecated to prevent excessive logging when rendering Velocity templates and so as not to confuse
marketplace vendors.
Please refer to this PR on how to delete this package when ready.
-
Constructor Summary
ConstructorsConstructorDescriptionReadOnlyWebInterfaceManager(com.atlassian.plugin.web.api.DynamicWebInterfaceManager delegate) -
Method Summary
Modifier and TypeMethodDescriptionList<com.atlassian.plugin.web.api.descriptors.WebItemModuleDescriptor>getDisplayableItems(String s, Map<String, Object> map) List<com.atlassian.plugin.web.api.descriptors.WebSectionModuleDescriptor>getDisplayableSections(String s, Map<String, Object> map) Iterable<com.atlassian.plugin.web.api.WebItem>getDisplayableWebItems(String s, Map<String, Object> map) List<com.atlassian.plugin.web.api.descriptors.WebPanelModuleDescriptor<? extends com.atlassian.plugin.web.api.model.WebPanel>>List<? extends com.atlassian.plugin.web.api.model.WebPanel>getDisplayableWebPanels(String s, Map<String, Object> map) Iterable<com.atlassian.plugin.web.api.WebSection>getDisplayableWebSections(String s, Map<String, Object> map) List<com.atlassian.plugin.web.api.descriptors.WebItemModuleDescriptor>List<com.atlassian.plugin.web.api.descriptors.WebSectionModuleDescriptor>com.atlassian.plugin.web.WebFragmentHelperIterable<com.atlassian.plugin.web.api.WebItem>getWebItems(String s, Map<String, Object> map) List<com.atlassian.plugin.web.api.descriptors.WebPanelModuleDescriptor<? extends com.atlassian.plugin.web.api.model.WebPanel>>List<? extends com.atlassian.plugin.web.api.model.WebPanel>Iterable<com.atlassian.plugin.web.api.WebSection>getWebSections(String s, Map<String, Object> map) booleanvoidrefresh()
-
Constructor Details
-
ReadOnlyWebInterfaceManager
public ReadOnlyWebInterfaceManager(com.atlassian.plugin.web.api.DynamicWebInterfaceManager delegate)
-
-
Method Details
-
hasSectionsForLocation
- Specified by:
hasSectionsForLocationin interfacecom.atlassian.plugin.web.WebInterfaceManager
-
getSections
public List<com.atlassian.plugin.web.api.descriptors.WebSectionModuleDescriptor> getSections(String s) - Specified by:
getSectionsin interfacecom.atlassian.plugin.web.WebInterfaceManager
-
getDisplayableSections
public List<com.atlassian.plugin.web.api.descriptors.WebSectionModuleDescriptor> getDisplayableSections(String s, Map<String, Object> map) - Specified by:
getDisplayableSectionsin interfacecom.atlassian.plugin.web.WebInterfaceManager
-
getItems
- Specified by:
getItemsin interfacecom.atlassian.plugin.web.WebInterfaceManager
-
getDisplayableItems
public List<com.atlassian.plugin.web.api.descriptors.WebItemModuleDescriptor> getDisplayableItems(String s, Map<String, Object> map) - Specified by:
getDisplayableItemsin interfacecom.atlassian.plugin.web.WebInterfaceManager
-
getWebPanels
- Specified by:
getWebPanelsin interfacecom.atlassian.plugin.web.WebInterfaceManager
-
getDisplayableWebPanels
public List<? extends com.atlassian.plugin.web.api.model.WebPanel> getDisplayableWebPanels(String s, Map<String, Object> map) - Specified by:
getDisplayableWebPanelsin interfacecom.atlassian.plugin.web.WebInterfaceManager
-
getWebPanelDescriptors
public List<com.atlassian.plugin.web.api.descriptors.WebPanelModuleDescriptor<? extends com.atlassian.plugin.web.api.model.WebPanel>> getWebPanelDescriptors(String s) - Specified by:
getWebPanelDescriptorsin interfacecom.atlassian.plugin.web.WebInterfaceManager
-
getDisplayableWebPanelDescriptors
public List<com.atlassian.plugin.web.api.descriptors.WebPanelModuleDescriptor<? extends com.atlassian.plugin.web.api.model.WebPanel>> getDisplayableWebPanelDescriptors(String s, Map<String, Object> map) - Specified by:
getDisplayableWebPanelDescriptorsin interfacecom.atlassian.plugin.web.WebInterfaceManager
-
refresh
public void refresh()- Specified by:
refreshin interfacecom.atlassian.plugin.web.WebInterfaceManager
-
getWebFragmentHelper
public com.atlassian.plugin.web.WebFragmentHelper getWebFragmentHelper()- Specified by:
getWebFragmentHelperin interfacecom.atlassian.plugin.web.WebInterfaceManager
-
getWebItems
- Specified by:
getWebItemsin interfacecom.atlassian.plugin.web.api.DynamicWebInterfaceManager
-
getDisplayableWebItems
public Iterable<com.atlassian.plugin.web.api.WebItem> getDisplayableWebItems(String s, Map<String, Object> map) - Specified by:
getDisplayableWebItemsin interfacecom.atlassian.plugin.web.api.DynamicWebInterfaceManager
-
getWebSections
public Iterable<com.atlassian.plugin.web.api.WebSection> getWebSections(String s, Map<String, Object> map) - Specified by:
getWebSectionsin interfacecom.atlassian.plugin.web.api.DynamicWebInterfaceManager
-
getDisplayableWebSections
public Iterable<com.atlassian.plugin.web.api.WebSection> getDisplayableWebSections(String s, Map<String, Object> map) - Specified by:
getDisplayableWebSectionsin interfacecom.atlassian.plugin.web.api.DynamicWebInterfaceManager
-