繁体   English   中英

如何使用OpenLayers从Geoserver访问私有层?

[英]How to access with OpenLayers a private layer from 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,我必须让我的所有层都打开吗? 提前致谢。

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM