<html dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body style="text-align:left; direction:ltr;">
<div>OK, I found the reason myself...</div>
<div><br>
</div>
<div>The Chainfilter "basic" of the Filter-Chain "default" was on second place behind geonode-oauth2. moving "basic" to first place makes it now possible to request the capabilities with basic auth.</div>
<div><br>
</div>
<div>I'm just wondering, why the basic auth was not checked before.. I thought the chain-filters are used in the order they are defined and if one filter could not authenticate the user, the next filter is used.</div>
<div>is that correct?</div>
<div><br>
</div>
<div>Steffen</div>
<div><br>
</div>
<div><br>
</div>
<div>Am Donnerstag, den 25.10.2018, 02:47 -0700 schrieb geonode-users-request@lists.osgeo.org:</div>
<blockquote type="cite" style="margin:0 0 0 .8ex; border-left:2px #729fcf solid;padding-left:1ex">
<pre>Send geonode-users mailing list submissions to</pre>
<pre>     <a href="mailto:geonode-users@lists.osgeo.org">geonode-users@lists.osgeo.org</a></pre>
<pre><br></pre>
<pre>To subscribe or unsubscribe via the World Wide Web, visit</pre>
<pre>     <a href="https://lists.osgeo.org/mailman/listinfo/geonode-users">https://lists.osgeo.org/mailman/listinfo/geonode-users</a></pre>
<pre>or, via email, send a message with subject or body 'help' to</pre>
<pre>     <a href="mailto:geonode-users-request@lists.osgeo.org">geonode-users-request@lists.osgeo.org</a></pre>
<pre><br></pre>
<pre>You can reach the person managing the list at</pre>
<pre>     <a href="mailto:geonode-users-owner@lists.osgeo.org">geonode-users-owner@lists.osgeo.org</a></pre>
<pre><br></pre>
<pre>When replying, please edit your Subject line so it is more specific</pre>
<pre>than "Re: Contents of geonode-users digest..."</pre>
<pre><br></pre>
<pre><br></pre>
<pre>Today's Topics:</pre>
<pre><br></pre>
<pre>   1. Geoserver Basic Auth not working (John, Steffen)</pre>
<pre><br></pre>
<pre><br></pre>
<pre>----------------------------------------------------------------------</pre>
<pre><br></pre>
<pre>Message: 1</pre>
<pre>Date: Thu, 25 Oct 2018 09:47:16 +0000</pre>
<pre>From: "John, Steffen" <<a href="mailto:s.john@atenekom.eu">s.john@atenekom.eu</a>></pre>
<pre>To: "<a href="mailto:geonode-users@lists.osgeo.org">geonode-users@lists.osgeo.org</a>" <<a href="mailto:geonode-users@lists.osgeo.org">geonode-users@lists.osgeo.org</a>></pre>
<pre>Subject: [GeoNode-users] Geoserver Basic Auth not working</pre>
<pre>Message-ID:</pre>
<pre>     <<a href="mailto:9be16c210685c16eef029abb429f696e6808615d.camel@atenekom.eu">9be16c210685c16eef029abb429f696e6808615d.camel@atenekom.eu</a>></pre>
<pre>Content-Type: text/plain; charset="utf-8"</pre>
<pre><br></pre>
<pre>Hi!</pre>
<pre><br></pre>
<pre>I'm using GeoNode 2.10rc4 together with GeoServer 2.14 and I seem to have an Authentication Issue.</pre>
<pre><br></pre>
<pre>I need to send a GetCapabilities-Request to geonode/geoserver/ows? from an external app, which uses basis authentication. I'm using the credentials of the Geoserver Admin User but GeoServer doesn't seem to check the Basic Authentication and does not include layers in the Capabilities which are not accessible by everyone.</pre>
<pre><br></pre>
<pre>I included the GeoServer Log of this request at the end of this mail. Do you have any idea what is wrong or need to be changed in GeoServer?</pre>
<pre><br></pre>
<pre>thanks for your help.</pre>
<pre><br></pre>
<pre><br></pre>
<pre>2018-10-25 09:32:11,938 DEBUG [org.geoserver.security.IncludeQueryStringAntPathRequestMatcher] - Checking match of request : 'Path: /wms, QueryString: SERVICE=WMS&request=GetCapabilities'; against '/web/**'</pre>
<pre>2018-10-25 09:32:11,938 DEBUG [org.geoserver.security.IncludeQueryStringAntPathRequestMatcher] - Checking match of request : 'Path: /wms, QueryString: SERVICE=WMS&request=GetCapabilities'; against '/gwc/rest/web/**'</pre>
<pre>2018-10-25 09:32:11,938 DEBUG [org.geoserver.security.IncludeQueryStringAntPathRequestMatcher] - Checking match of request : 'Path: /wms, QueryString: SERVICE=WMS&request=GetCapabilities'; against '/'</pre>
<pre>2018-10-25 09:32:11,938 DEBUG [org.geoserver.security.IncludeQueryStringAntPathRequestMatcher] - Checking match of request : 'Path: /wms, QueryString: SERVICE=WMS&request=GetCapabilities'; against '/j_spring_security_check'</pre>
<pre>2018-10-25 09:32:11,938 DEBUG [org.geoserver.security.IncludeQueryStringAntPathRequestMatcher] - Checking match of request : 'Path: /wms, QueryString: SERVICE=WMS&request=GetCapabilities'; against '/j_spring_security_check/'</pre>
<pre>2018-10-25 09:32:11,938 DEBUG [org.geoserver.security.IncludeQueryStringAntPathRequestMatcher] - Checking match of request : 'Path: /wms, QueryString: SERVICE=WMS&request=GetCapabilities'; against '/j_spring_oauth2_geonode_login'</pre>
<pre>2018-10-25 09:32:11,938 DEBUG [org.geoserver.security.IncludeQueryStringAntPathRequestMatcher] - Checking match of request : 'Path: /wms, QueryString: SERVICE=WMS&request=GetCapabilities'; against '/j_spring_oauth2_geonode_login/'</pre>
<pre>2018-10-25 09:32:11,938 DEBUG [org.geoserver.security.IncludeQueryStringAntPathRequestMatcher] - Checking match of request : 'Path: /wms, QueryString: SERVICE=WMS&request=GetCapabilities'; against '/j_spring_security_logout'</pre>
<pre>2018-10-25 09:32:11,938 DEBUG [org.geoserver.security.IncludeQueryStringAntPathRequestMatcher] - Checking match of request : 'Path: /wms, QueryString: SERVICE=WMS&request=GetCapabilities'; against '/j_spring_security_logout/'</pre>
<pre>2018-10-25 09:32:11,938 DEBUG [org.geoserver.security.IncludeQueryStringAntPathRequestMatcher] - Checking match of request : 'Path: /wms, QueryString: SERVICE=WMS&request=GetCapabilities'; against '/j_spring_oauth2_geonode_logout'</pre>
<pre>2018-10-25 09:32:11,938 DEBUG [org.geoserver.security.IncludeQueryStringAntPathRequestMatcher] - Checking match of request : 'Path: /wms, QueryString: SERVICE=WMS&request=GetCapabilities'; against '/j_spring_oauth2_geonode_logout/'</pre>
<pre>2018-10-25 09:32:11,938 DEBUG [org.geoserver.security.IncludeQueryStringAntPathRequestMatcher] - Checking match of request : 'Path: /wms, QueryString: SERVICE=WMS&request=GetCapabilities'; against '/rest/**'</pre>
<pre>2018-10-25 09:32:11,938 DEBUG [org.geoserver.security.IncludeQueryStringAntPathRequestMatcher] - Checking match of request : 'Path: /wms, QueryString: SERVICE=WMS&request=GetCapabilities'; against '/gwc/**'</pre>
<pre>2018-10-25 09:32:11,938 DEBUG [org.geoserver.security.IncludeQueryStringAntPathRequestMatcher] - Checking match of request : 'Path: /wms, QueryString: SERVICE=WMS&request=GetCapabilities'; against '/geofence/rest/**'</pre>
<pre>2018-10-25 09:32:11,938 DEBUG [org.geoserver.security.IncludeQueryStringAntPathRequestMatcher] - Checking match of request : 'Path: /wms, QueryString: SERVICE=WMS&request=GetCapabilities'; against '/geofence/**'</pre>
<pre>2018-10-25 09:32:11,938 DEBUG [org.geoserver.security.IncludeQueryStringAntPathRequestMatcher] - Checking match of request : 'Path: /wms, QueryString: SERVICE=WMS&request=GetCapabilities'; against '/**'</pre>
<pre>2018-10-25 09:32:11,938 DEBUG [org.geoserver.security.IncludeQueryStringAntPathRequestMatcher] - Request matched by universal pattern '/**'</pre>
<pre>2018-10-25 09:32:11,938 DEBUG [org.geoserver.security.IncludeQueryStringAntPathRequestMatcher] - Matched Path: /wms, QueryString: SERVICE=WMS&request=GetCapabilities with /**</pre>
<pre>2018-10-25 09:32:11,938 DEBUG [org.geoserver.security] - Inspecting the http request looking for the Custom Session ID.</pre>
<pre>2018-10-25 09:32:11,938 DEBUG [org.geoserver.security] - Found 2 cookies!</pre>
<pre>2018-10-25 09:32:11,974 DEBUG [org.geoserver.security] - preAuthenticatedPrincipal = null, trying to authenticate</pre>
<pre>2018-10-25 09:32:11,975 DEBUG [org.geoserver.monitor.OpenSessionInViewFilter] - Using SessionFactory 'hibSessionFactory' for OpenSessionInViewFilter</pre>
<pre>2018-10-25 09:32:11,975 DEBUG [org.geoserver.monitor.OpenSessionInViewFilter] - Opening single Hibernate Session in OpenSessionInViewFilter</pre>
<pre>2018-10-25 09:32:11,975 DEBUG [org.geoserver.monitor] - Testing /wms for monitor filtering</pre>
<pre>2018-10-25 09:32:11,994 DEBUG [org.geoserver.gwc.controller.GwcWmtsRestUrlHandlerMapping] - Looking up handler method for path /wms</pre>
<pre>2018-10-25 09:32:11,994 DEBUG [org.geoserver.gwc.controller.GwcWmtsRestUrlHandlerMapping] - Did not find handler method for [/wms]</pre>
<pre>2018-10-25 09:32:11,994 TRACE [org.geoserver.ows.OWSHandlerMapping] - No handler mapping found for [/wms]</pre>
<pre>2018-10-25 09:32:11,994 TRACE [org.geoserver.ows.OWSHandlerMapping] - No handler mapping found for [/wms]</pre>
<pre>2018-10-25 09:32:11,994 TRACE [org.geoserver.ows.OWSHandlerMapping] - No handler mapping found for [/wms]</pre>
<pre>2018-10-25 09:32:11,994 TRACE [org.geoserver.ows.OWSHandlerMapping] - No handler mapping found for [/wms]</pre>
<pre>2018-10-25 09:32:11,994 TRACE [org.geoserver.ows.OWSHandlerMapping] - No handler mapping found for [/wms]</pre>
<pre>2018-10-25 09:32:11,994 TRACE [org.geoserver.ows.OWSHandlerMapping] - No handler mapping found for [/wms]</pre>
<pre>2018-10-25 09:32:11,994 TRACE [org.geoserver.ows.OWSHandlerMapping] - No handler mapping found for [/wms]</pre>
<pre>2018-10-25 09:32:11,994 DEBUG [org.geoserver.ows.OWSHandlerMapping] - Mapping [/wms] to HandlerExecutionChain with handler [org.geoserver.ows.Dispatcher@7a6b2128<mailto:org.geoserver.ows.Dispatcher@7a6b2128>] and 1 interceptor</pre>
<pre>2018-10-25 09:32:11,998 INFO [org.geoserver.wms] -</pre>
<pre>Request: getServiceInfo</pre>
<pre>2018-10-25 09:32:11,999 INFO [org.geoserver.flow] - Request [WMS 1.3.0 GetCapabilities] starting, processing through flow controllers</pre>
<pre>2018-10-25 09:32:11,999 DEBUG [org.geoserver.flow] - Request [WMS 1.3.0 GetCapabilities] checking flow controller BasicOWSController(wfs.getfeature.=application/msexcel,org.geoserver.flow.controller.SimpleThreadBlocker@59ed6e35<mailto:org.geoserver.flow.controller.SimpleThreadBlocker@59ed6e35>)</pre>
<pre>2018-10-25 09:32:11,999 DEBUG [org.geoserver.flow] - Request [WMS 1.3.0 GetCapabilities] passed flow controller BasicOWSController(wfs.getfeature.=application/msexcel,org.geoserver.flow.controller.SimpleThreadBlocker@59ed6e35<mailto:org.geoserver.flow.controller.SimpleThreadBlocker@59ed6e35>)</pre>
<pre>2018-10-25 09:32:11,999 DEBUG [org.geoserver.flow] - Request [WMS 1.3.0 GetCapabilities] checking flow controller org.geoserver.flow.controller.UserConcurrentFlowController@34ca61af<mailto:org.geoserver.flow.controller.UserConcurrentFlowController@34ca61af></pre>
<pre>2018-10-25 09:32:11,999 DEBUG [org.geoserver.flow] - UserFlowController(6,GS_CFLOW_-7151e4b2:166875a40f3:-7ff8) queue size 1</pre>
<pre>2018-10-25 09:32:11,999 DEBUG [org.geoserver.flow] - UserFlowController(6,GS_CFLOW_-7151e4b2:166875a40f3:-7ff8) total queues 1</pre>
<pre>2018-10-25 09:32:11,999 DEBUG [org.geoserver.flow] - Request [WMS 1.3.0 GetCapabilities] passed flow controller org.geoserver.flow.controller.UserConcurrentFlowController@34ca61af<mailto:org.geoserver.flow.controller.UserConcurrentFlowController@34ca61af></pre>
<pre>2018-10-25 09:32:11,999 DEBUG [org.geoserver.flow] - Request [WMS 1.3.0 GetCapabilities] checking flow controller BasicOWSController(wms.getmap,org.geoserver.flow.controller.SimpleThreadBlocker@8d6e42f<mailto:org.geoserver.flow.controller.SimpleThreadBlocker@8d6e42f>)</pre>
<pre>2018-10-25 09:32:11,999 DEBUG [org.geoserver.flow] - Request [WMS 1.3.0 GetCapabilities] passed flow controller BasicOWSController(wms.getmap,org.geoserver.flow.controller.SimpleThreadBlocker@8d6e42f<mailto:org.geoserver.flow.controller.SimpleThreadBlocker@8d6e42f>)</pre>
<pre>2018-10-25 09:32:11,999 DEBUG [org.geoserver.flow] - Request [WMS 1.3.0 GetCapabilities] checking flow controller BasicOWSController(gwc,org.geoserver.flow.controller.SimpleThreadBlocker@2b97e67c<mailto:org.geoserver.flow.controller.SimpleThreadBlocker@2b97e67c>)</pre>
<pre>2018-10-25 09:32:11,999 DEBUG [org.geoserver.flow] - Request [WMS 1.3.0 GetCapabilities] passed flow controller BasicOWSController(gwc,org.geoserver.flow.controller.SimpleThreadBlocker@2b97e67c<mailto:org.geoserver.flow.controller.SimpleThreadBlocker@2b97e67c>)</pre>
<pre>2018-10-25 09:32:11,999 DEBUG [org.geoserver.flow] - Request [WMS 1.3.0 GetCapabilities] checking flow controller GlobalFlowController(org.geoserver.flow.controller.SimpleThreadBlocker@1939b9fd<mailto:org.geoserver.flow.controller.SimpleThreadBlocker@1939b9fd>)</pre>
<pre>2018-10-25 09:32:11,999 DEBUG [org.geoserver.flow] - Request [WMS 1.3.0 GetCapabilities] passed flow controller GlobalFlowController(org.geoserver.flow.controller.SimpleThreadBlocker@1939b9fd<mailto:org.geoserver.flow.controller.SimpleThreadBlocker@1939b9fd>)</pre>
<pre>2018-10-25 09:32:11,999 INFO [org.geoserver.flow] - Request control-flow performed, running requests: 1, blocked requests: 0</pre>
<pre>2018-10-25 09:32:12,000 INFO [org.geoserver.wms] -</pre>
<pre>Request: getCapabilities</pre>
<pre>BaseUrl = <a href="http://geonode:80/geoserver/">http://geonode:80/geoserver/</a></pre>
<pre>Get = false</pre>
<pre>Namespace = null</pre>
<pre>RawKvp = {REQUEST=GetCapabilities, SERVICE=WMS}</pre>
<pre>Request = GetCapabilities</pre>
<pre>RequestCharset = null</pre>
<pre>UpdateSequence = null</pre>
<pre>Version = 1.3.0</pre>
<pre>2018-10-25 09:32:12,007 DEBUG [org.geoserver.wms.capabilities] - producing a capabilities document for GetCapabilities [service: WMS, version: 1.3.0]</pre>
<pre>2018-10-25 09:32:12,009 DEBUG [org.geoserver.geofence] - Getting access limits for Layer layer2</pre>
<pre>2018-10-25 09:32:12,009 DEBUG [org.geoserver.geofence] - Getting access limits for Resource layer2</pre>
<pre>2018-10-25 09:32:12,009 DEBUG [org.geoserver.geofence] - ResourceInfo filter: RuleFilter[user:DEFAULT role:ANY inst:name+:default-gs ip:"172.20.0.5"+ serv:"WMS"+ req:"GETCAPABILITIES"+ ws:"geonode"+ layer:"layer2"+]</pre>
<pre>2018-10-25 09:32:12,009 DEBUG [org.geoserver.geofence.cache] - Request for RuleFilter[user:DEFAULT role:ANY inst:name+:default-gs ip:"172.20.0.5"+ serv:"WMS"+ req:"GETCAPABILITIES"+ ws:"geonode"+ layer:"layer2"+]</pre>
<pre>2018-10-25 09:32:12,009 DEBUG [org.geoserver.geofence] - Returning mode HIDE for resource FeatureTypeInfoImpl[layer2]</pre>
<pre>2018-10-25 09:32:12,009 DEBUG [org.geoserver.geofence] - Returning VectorAccessLimits [readAttributes=null, writeAttributes=null, writeFilter=Filter.EXCLUDE, readFilter=Filter.EXCLUDE, mode=HIDE] for layer geonode:layer2 and user null</pre>
<pre>2018-10-25 09:32:12,009 DEBUG [org.geoserver.geofence] - Getting access limits for workspace geonode</pre>
<pre>2018-10-25 09:32:12,009 DEBUG [org.geoserver.geofence] - Getting admin auth for Workspace geonode</pre>
<pre>2018-10-25 09:32:12,009 DEBUG [org.geoserver.geofence] - AdminAuth filter: RuleFilter[user:DEFAULT role:ANY inst:name+:default-gs ip:"172.20.0.5"+ serv:ANY req:ANY ws:"geonode"+ layer:ANY]</pre>
<pre>2018-10-25 09:32:12,009 DEBUG [org.geoserver.geofence.cache] - AdminAuth Request for RuleFilter[user:DEFAULT role:ANY inst:name+:default-gs ip:"172.20.0.5"+ serv:ANY req:ANY ws:"geonode"+ layer:ANY]</pre>
<pre>2018-10-25 09:32:12,009 DEBUG [org.geoserver.geofence] - Admin auth for User: Workspace:geonode: false</pre>
<pre>2018-10-25 09:32:12,009 DEBUG [org.geoserver.geofence] - Getting access limits for Layer layer1</pre>
<pre>2018-10-25 09:32:12,009 DEBUG [org.geoserver.geofence] - Getting access limits for Resource layer1</pre>
<pre>2018-10-25 09:32:12,009 DEBUG [org.geoserver.geofence] - ResourceInfo filter: RuleFilter[user:DEFAULT role:ANY inst:name+:default-gs ip:"172.20.0.5"+ serv:"WMS"+ req:"GETCAPABILITIES"+ ws:"geonode"+ layer:"layer1"+]</pre>
<pre>2018-10-25 09:32:12,009 DEBUG [org.geoserver.geofence.cache] - Request for RuleFilter[user:DEFAULT role:ANY inst:name+:default-gs ip:"172.20.0.5"+ serv:"WMS"+ req:"GETCAPABILITIES"+ ws:"geonode"+ layer:"layer1"+]</pre>
<pre>2018-10-25 09:32:12,009 DEBUG [org.geoserver.geofence] - Returning mode HIDE for resource FeatureTypeInfoImpl[layer1]</pre>
<pre>2018-10-25 09:32:12,009 DEBUG [org.geoserver.geofence] - Returning VectorAccessLimits [readAttributes=null, writeAttributes=null, writeFilter=Filter.EXCLUDE, readFilter=Filter.EXCLUDE, mode=HIDE] for layer geonode:layer1 and user null</pre>
<pre>2018-10-25 09:32:12,009 DEBUG [org.geoserver.geofence] - Getting access limits for workspace geonode</pre>
<pre>2018-10-25 09:32:12,009 DEBUG [org.geoserver.geofence] - Getting admin auth for Workspace geonode</pre>
<pre>2018-10-25 09:32:12,010 DEBUG [org.geoserver.geofence] - AdminAuth filter: RuleFilter[user:DEFAULT role:ANY inst:name+:default-gs ip:"172.20.0.5"+ serv:ANY req:ANY ws:"geonode"+ layer:ANY]</pre>
<pre>2018-10-25 09:32:12,010 DEBUG [org.geoserver.geofence.cache] - AdminAuth Request for RuleFilter[user:DEFAULT role:ANY inst:name+:default-gs ip:"172.20.0.5"+ serv:ANY req:ANY ws:"geonode"+ layer:ANY]</pre>
<pre>2018-10-25 09:32:12,010 DEBUG [org.geoserver.geofence] - Admin auth for User: Workspace:geonode: false</pre>
<pre>2018-10-25 09:32:12,010 DEBUG [org.geoserver.wms.capabilities] - Collecting summarized latlonbbox and common SRS...</pre>
<pre>2018-10-25 09:32:12,010 DEBUG [org.geoserver.wms.capabilities] - Summarized LatLonBBox is Env[0.0 : -1.0, 0.0 : -1.0]</pre>
<pre>2018-10-25 09:32:12,018 DEBUG [org.geoserver.filters] - Compressing output for mimetype: text/xml</pre>
<pre>2018-10-25 09:32:12,023 INFO [org.geoserver.flow] - releasing flow controllers for [WMS 1.3.0 GetCapabilities]</pre>
<pre>2018-10-25 09:32:12,023 INFO [org.geoserver.flow] - Request completed, running requests: 0, blocked requests: 0</pre>
<pre>2018-10-25 09:32:12,024 DEBUG [org.geoserver.monitor.OpenSessionInViewFilter] - Closing single Hibernate Session in OpenSessionInViewFilter</pre>
<pre>2018-10-25 09:32:12,024 DEBUG [org.geoserver.security.filter.GeoServerSecurityContextPersistenceFilter$1] - SecurityContextHolder now cleared, as request processing completed</pre>
<pre>2018-10-25 09:32:48,595 DEBUG [org.geoserver.wps] - Removing statuses matching [[[ NOT [ completionTime IS NULL ] ] AND [ completionTime Before 2018-10-25T09:12Z ]] AND [[ NOT [ lastUpdated IS NULL ] ] AND [ lastUpdated Before 2018-10-25T09:12Z ]]]</pre>
<pre>-------------- next part --------------</pre>
<pre>An HTML attachment was scrubbed...</pre>
<pre>URL: <<a href="http://lists.osgeo.org/pipermail/geonode-users/attachments/20181025/da0f74fc/attachment.html">http://lists.osgeo.org/pipermail/geonode-users/attachments/20181025/da0f74fc/attachment.html</a>></pre>
<pre><br></pre>
<pre>------------------------------</pre>
<pre><br></pre>
<pre>Subject: Digest Footer</pre>
<pre><br></pre>
<pre>_______________________________________________</pre>
<pre>geonode-users mailing list</pre>
<pre><a href="mailto:geonode-users@lists.osgeo.org">geonode-users@lists.osgeo.org</a></pre>
<pre><a href="https://lists.osgeo.org/mailman/listinfo/geonode-users">https://lists.osgeo.org/mailman/listinfo/geonode-users</a></pre>
<pre><br></pre>
<pre><br></pre>
<pre>------------------------------</pre>
<pre><br></pre>
<pre>End of geonode-users Digest, Vol 45, Issue 84</pre>
<pre>*********************************************</pre>
<pre><br></pre>
</blockquote>
</body>
</html>