我有一个GeoServer,并且只想通过WMS向拥有用户帐户的用户提供图层 . 可以在GeoServer端设置,因为您可以启用基本身份验证,然后将凭据作为URL的一部分传递 .
这在Firefox中工作正常,遗憾的是,现在许多浏览器已删除此功能,因为URL中不推荐使用基本身份验证 .
所以设置一个URL:
https://MY_USER_NAME:MY_PASSWORD@www.BLAH.com
不再有效 .
因此,在制作OL3 WMS请求时,我仍然不知道如何在客户端提供凭据 . 似乎缺乏关于此的文件 .
通常我的WMS调用如下所示:
WMS_layer = new ol.layer.Tile({
preload: Infinity,
visible: true,
opacity:0.7,
extent: ol.proj.transformExtent([-1.194, 51.880, -1.111, 51.930], "EPSG:4326", "EPSG:3857"),
source: new ol.source.TileWMS(({
url: 'https://www.my-geoserver.co.uk/geoserver/' + workspace + '/wms',
params: {'LAYERS': workspace + ':' + layer_name, 'TILED': true, 'VERSION': '1.3.0'},
projection: projection,
serverType: 'geoserver',
FORMAT: 'image/jpeg'
}))
});
因此,由于我无法再向URL添加用户名和密码,我如何通过身份验证 . 我可以使用身份验证标头作为一种解决方案,但如何通过OL3内的WMS调用发送身份验证标头?
我听说过人们倾向于在服务器端使用代理来处理XHR请求,我也不知道从哪里开始!