当前位置:首页 > 编程笔记 > 正文
已解决

GeoServer地图服务器权限控制

来自网友在路上 142842提问 提问时间:2023-09-23 18:03:13阅读次数: 42

最佳答案 问答题库428位专家为你答疑解惑

目录

1下载相关软件

2部署软件

3配置鉴权环节

4Java工程

5测试鉴权

6测试鉴权结果分析


本文章应该会后面试验一个鉴权功能就会发布一系列测试过程(GeoServer有很多鉴权方式)

1Download - GeoServer

1下载相关软件

进入geoserver官网的下载页面 因为jdk8是免费的极限,所以下载java8所能支持的最新版本

下载Windows Installer安装包以及Web Archive在linux部署的war包

下载Key authentication用于扩展鉴权

去tomcat网下载能支持java8的最新版本-tomcat9

Apache Tomcat® - Apache Tomcat 9 Software Downloads

2部署软件

部署软件环节参考我得另外一篇文章

3配置鉴权环节

然后关闭按钮后,再点保存,否则无效

4Java工程

package com.example.controller;import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;@RestController
public class Login {public int a=1;@RequestMapping(value = "/checkAuthkey",method = RequestMethod.GET)public String checkAuthkey(@RequestParam String authkey) {System.out.println(authkey+"///"+a);a++;if("888888".equals(authkey)){return "";}String user = "admin";return user;}
}

5测试鉴权

分别从两个不同电脑发起访问地图服务器

http://192.168.10.44:8080/geoserver/jaxlayer/wms?authkey=888888&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&FORMAT=image%2Fpng&TRANSPARENT=true&STYLES=&LAYERS=jaxlayer%3Ajgfw&exceptions=application%2Fvnd.ogc.se_inimage&SRS=EPSG%3A4490&WIDTH=714&HEIGHT=768&BBOX=115.78485578298569%2C28.198497891426086%2C115.78677088022232%2C28.200557827949524

其中 authkey一定要填写,用于访问geoserver,geoserver转发给java工程

java工程做了设置,authkey等于888888 鉴权失败

java工程做了设置,authkey不等于888888 鉴权成功

6测试鉴权结果分析

(1)两台电脑IP:192.168.10.202,192.168.10.213,两台电脑访问的鉴权结果互不干涉,202访问geoserver服务器,当authkey=888888,鉴权失败,不停的点击请求,都会走一下java工程,判断鉴权,但是,当authkey不等于888888的时候鉴权成功,不停的点击请求,再也不会走一下java工程,除非十分钟后,才会再走一下java工程!同理213访问geoserver服务器也是该结果!

(2)authkey这个参数可以任意位置,而不是必须紧靠?后面第一个参数位置!我看很多人提出这个问题,估计版本的问题,我这个版本解决了这个问题!

查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"GeoServer地图服务器权限控制":http://eshow365.cn/6-12233-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!