[Geoserver-devel] [JIRA] (GEOS-7459) Securing an app-schema data store may result in ClassCastException being thrown

Stefano Costa created an issue

GeoServer / BugGEOS-7459

Securing an app-schema data store may result in ClassCastException being thrown

Issue Type:

BugBug

Affects Versions:

2.9-beta, 2.8.2, 2.7.6

Assignee:

Stefano Costa

Components:

Application schema, Security

Created:

14/Mar/16 5:52 PM

Priority:

MediumMedium

Reporter:

Stefano Costa

When trying to access a secured layer backed by an app-schema data store, or, more generally, any secured layer backed by a data store serving non-simple features, the following exception may be thrown:

Caused by: java.lang.ClassCastException: org.geoserver.security.decorators.ReadOnlyDataAccess cannot be cast to org.geotools.data.DataStore
	at org.geoserver.security.decorators.SecuredDataStoreInfo.getDataStore(SecuredDataStoreInfo.java:48)
	at org.geoserver.security.decorators.SecuredDataStoreInfo.getDataStore(SecuredDataStoreInfo.java:1)
	at org.geoserver.web.demo.PreviewLayer.findGmlVersion(PreviewLayer.java:303)
	at org.geoserver.web.demo.PreviewLayer.getGmlLink(PreviewLayer.java:261)
	at org.geoserver.web.demo.MapPreviewPage$1.getComponentForProperty(MapPreviewPage.java:96)
	at org.geoserver.web.wicket.GeoServerTablePanel$4.populateItem(GeoServerTablePanel.java:212)
	at org.apache.wicket.markup.html.list.ListView.onPopulate(ListView.java:562)
	at org.apache.wicket.markup.repeater.AbstractRepeater.onBeforeRender(AbstractRepeater.java:131)
	at org.apache.wicket.Component.internalBeforeRender(Component.java:1071)
	at org.apache.wicket.Component.beforeRender(Component.java:1105)
	at org.apache.wicket.MarkupContainer.onBeforeRenderChildren(MarkupContainer.java:1753)
	... 117 more

Simplest solution would be to make the getDataStore method in SecuredDataStoreInfo return a DataAccess<? extends FeatureType, ? extends Feature> instead of a simple DataStore. Note that this is already the case in DecoratingDataStoreInfo, which is SecuredDataStoreInfo’s parent class.

Add Comment

Add Comment

This message was sent by Atlassian JIRA (v7.2.0-OD-03-014#72000-sha1:1e7aa97)

Atlassian logo