如何通过OpenLayers从Geoserver访问私有层?

时间:2019-01-18 13:22:57

标签: javascript gis openlayers geoserver

我可以使用以下代码来显示公共层,但是,如果需要身份验证,则不能(如预期的那样)。

var untiled = new ol.layer.Image({
  source: new ol.source.ImageWMS({
    ratio: 1,
    url: 'http://url/geoserver/workspacename/wms',
    params: {
      'FORMAT': format,
      'VERSION': '1.1.1',
      STYLES: '',
      LAYERS: 'workspacename:layername'
    }
  })
});

如何通过OpenLayers请求进行身份验证?有什么方法可以显示私有层,或者如果我想使用OpenLayers,我必须让我的所有层都打开吗?提前致谢。

1 个答案:

答案 0 :(得分:0)

我最终找到了解决这个问题的两种方法。一个是在评论中用Mike指出的,另一个是我在Reddit中指出的。

基本上,在第一个中,您必须更改imageLoadFunction以在每个请购单中发送标题中的用户名和密码。但是,这种方法存在问题,凭据将在源代码中提供。

另一种选择是在服务器端处理Geoserver身份验证。