环境

操作系统:CentOS 7 Tomcat版本:8.5.x GeoServer版本:2.21

操作

详细权限配置见文章:GeoServer服务访问权限控制

wms服务验证调用

  1. 假如wms原始不加权限验证调用地址是:https://127.0.0.1:8080/geoserver/wms\_workspace/wms?service=WMS&version=1.0&request=GetMap&layers=test\_layer&styles=&format=application/openlayers
  2. 如果此时按照调用瓦片方式去调用,则地址是: https://127.0.0.1:8080/geoserver/wms\_workspace/wms?service=WMS&version=1.0&request=GetMap&layers=test\_layer&styles=&format=application/openlayers?authkey=123456 这种方式经过测试,接口验证地址是拿不到验证的key,geoserver会认为第一个问好:”?”后service是需要调用接口验证的传参

解决办法

  1. 将验证的key信息放到/wms第一个问号:”?”后面 请求地址如:https://127.0.0.1:8080/geoserver/wms\_workspace/wms?authkey=123456?service=WMS&version=1.0&request=GetMap&layers=test\_layer&styles=&format=application/openlayers
  2. 但是这样会有一个问题,geoserver传参到验证接口会是:123456?service=WMS 这个会连带第二个问号后面的service,这个时候就需要验证接口的方法接口参数时处理一下即可
  3. 或者哪位小伙伴有更好的处理wms通过webService方式加验证调用方法,可以邮箱滴滴我📫email:gitlab@111.com