zoukankan      html  css  js  c++  java
  • 关闭GeoServer v2.13权限认证

    写在前面:

    所用geoserver 版本为 2.13.2, tomcat 8,jdk 64位环境

    问题产生的背景:使用 geoserver 发布wmts服务,用arcgis for js 4.x 版的 WebTileLayer 类加载,在网页端弹出输入用户名和密码的提示框,如下图:

    按照提示输入登陆geoserver的用户名和密码即可显示请求的数据,但在实际使用过程中,不可能要求地图服务使用者每次请求数据时,都输入可访问该资源的geoserver用户名和密码。

    心路历程(重解决问题的,请略过):有问题,找度娘,问了度娘半天,始终也没有找到合适的方法,于是静下心来,仔细思考:通过网页请求单张图片,没有其他多余的请求,为什么还要输入geoserver的用户名和密码,于是我猜想,很可能是geoserver的过滤器或拦截器,拦截了请求,按照这个思路,我想是否可以关闭geoserver请求的过滤器或拦截器,达到请求wmts服务时,不再拦截,于是,继续问度娘,找到这篇文章:https://www.jianshu.com/p/8ef9bfdd5ef2,由于这篇文章的启发,开始寻找关闭权限认证的方法,不料也没找到,没办法,还得靠自己。想到 geoserver 的权限设置管理部分在管理界面的security部分,于是对每一项都进行了查看,看了几遍,没看出什么名堂,没有理解Authentication页面内的Authentication Filters、Filter Chains和Filter chain testing等部分具体内容,就开始对可点击和设置的内容进行测试,再次看到Filter chain testing时,突然想到是否可以测试一下请求单张图片的wmts地址,不管了,先测再说,经测试,发现在Responsible chain标签下的文本框出到了default,和上面Filter Chains表中的name列的最后一项一致,难道是……,此处略过100字,哈哈,闲言少叙,回归正题。

    解决方法

    1、关闭请求过滤

    经过测试,该方法可行,但不安全,第一步找到要关闭过虑项,如下图:

    点击右侧过滤项的名称,打开下图,勾选 Disable security for this chain 复选框:

    之后,单击该页面的close按钮,返回 Authentication 页面,之后,再依次设置其他过滤项,都设置完之后,单击Authentication 页面的保存按钮,即可达到关闭过滤器的目的,再测试请求wmts服务的链接,没有再弹出用户名和密码的弹出框。

    2、在请求wmts服务之前,先登陆geoserver服务器

    该方法还没有测试,不过应该可以实现,通过阅读geoserver的帮助文档,geoserver服务器可以通过Basic Authentication request 进行验证,所以,测试成功后,再补充

     各们亲,have fun

  • 相关阅读:
    排序算法总结
    NAT协议 私有和公有ip如何相互转换。
    Redis的两种持久化方式
    分布式系统CAP理论
    常见容错机制:failover、failfast、failback、failsafe
    Redis分布式锁的正确实现方式
    Ticket机制
    微信小程序网络请求封装
    js+ajax 上传多图片,并删除
    js+ajax 上传单图片
  • 原文地址:https://www.cnblogs.com/gregcn/p/9487973.html
Copyright © 2011-2022 走看看