概述
在使用ArcGIS的地图服务过程中,为了保障地图服务的安全需要进行安全认证,具体来说有以下两方面的考虑:一、保障用户所访问的地图服务的安全,即只有经过认证的访问者才能使用该地图服务;二、保障服务提供者对服务的管控。
为了能够满足用户的上述目标,ArcGISServer提供了Token的认证机制和代理机制相结合的解决方案。具体内容分以下两部分:
一、用户需要将所发布的地图服务设置为安全服务;
二、在Web端通过API(譬如ArcGIS API for JavaScript)访问地图服务时,通过配置代理的方式请求地图服务。
具体的解决方案步骤详见【解决方案】章节。本方案定向服务于使用IIS服务器管理Web应用的用户。
解决方案
具体的操作步骤分以下6步:
1、 配置地图服务为安全服务。登陆ArcGIS Manager,将所发布的地图服务设置为安全服务,具体操作如下图所示:
2、 部署java版本的代理页面。将ESRI提供的代理页面(建议放在一个目录中,本案例使用java目录存放所有的代理页面)部署至Tomcat或者其他Web服务器下,如下图所示:
备注:代理页面ESRI提供了多个版本(Java、DotNet和PHP),用户可以自行下载,地址如下:https://github.com/Esri/resource-proxy/releases。本案例中使用的是java版本,解压后打开java目录即可看到上图所示的页面。
3、 配置代理信息。代理页面需要预先配置即将要代理的几个信息,包括:ArcGIS Server的Rest服务地址,Token服务器地址,地图服务管理员(发布者\使用者)账号和密码(可采用登陆ArcGIS Manager的管理员账号和密码),以及部署ArcGIS API for JavaScript的应用地址。打开%TomcatHome%\webapps\Java\WEB-INF\classes目录下的proxy.config
在serverUrl标签中修改或补充相应参数对应的值,如下图所示:
参数名称 |
参数值 |
url |
ArcGIS Server服务地址。格式: http://ip(domain): 6080/arcgis/rest/services 此处的端口为ArcGIS Server的默认端口 |
matchAll |
只有当用户所请求的地址和url参数所指向的地址完全匹配时,才能通过此代理功能完成代理工作,否则无法执行代理 |
username |
服务管理员或服务使用者账号 地图服务管理员(发布者\使用者)账号和密码(可采用登陆ArcGIS Manager的管理员账号和密码) |
password |
|
tokenServiceUri |
Token服务地址 格式:http://ip(domain):6080/arcgis/tokens/ 此处的端口为Token的默认端口 |
clientId |
部署ArcGIS API for JavaScript的应用地址 这里建议使用JS应用的IP或域名即可 |
4、 客户端代码调整。在JS代码中加入具体的代理页配置:
require(["esri/config"],function(esriConfig){
//可使用绝对路径,也可以使用相对路径,具体看现场代理页面的部署
esriConfig.defaults.io.proxyUrl = "http://192.168.1.131/java/proxy.jsp"
esriConfig.defaults.io.alwaysUseProxy = true;
});
5、 测试。可使用Fidder等工具监控地图服务的访问,可以看到已经使用了代理配置,如下图所示:
相关推荐
WebGIS访问ArcGIS安全认证服务代理配置解决方案-Java版本[参照].pdf
arcgis for java api. arcgis jar. arcgis-runtime-sdk-java-100.5.0
在arcgis开发者官网下载的rumtime 100.13.1开发包java版本,由于官网抽风经常上不去,我下载了上传造福大家
在arcgis开发者官网下载的rumtime 100.11.2开发包java版本,由于官网抽风经常上不去,我下载了上传造福大家
在arcgis开发者官网下载的rumtime 200.1开发包java版本,由于官网抽风经常上不去,我下载了上传造福大家
arcgis
可用以下命令将jar文件部署在本地的maven仓库:mvn install:install-file -Dfile=arcgis-java-100.8.0.jar -DgroupId=com.esri.arcgisruntime -DartifactId=arcgis-java -Dversion=100.8.0 -Dpackaging=jar
目前最新的ArcGIS Runtime SDK for Java. 该PDF为英文版
gisweb ArcGis-for-javaScript最全中文API
ArcGIS Runtime SDK for Java 100.12.0 的...如需在生产环境中使用ArcGIS Runtime SDK for Java,请联系ESRI公司获得授权,现在也有国产替代产品GeoScne Runtime SDK for Java,可以联系易智瑞公司获得相关资源和授权。
大多数人对arcgis java 可能缺乏实用的项目资源,这个项目对于arcgis java 上面的很多应用都是详细的案例 比如动态添加涂层,界面的排版,工具条的定义,以及菜单的定义 往这方面发展的朋友一定不能错过
ArcGIS Server ——企业级GIS解决方案
Google earth的替代品ArcGIS-Earth2.0版本:ArcGIS-Earth-x64-Setup-2.0.exe
ArcGIS-Server-10.2.2-for-Linux-安装配置(CentOS)---戴国威,
Arcgis的Java语言二次开发Jar包,是用java进行二次开发必须的插件,齐全,实用
《ArcView GIS与ArcGIS地理信息统计分析》是一本介绍基本的空间统计和空间分析知识以及如何运用ArcView GIS和Arc GIS软件进行相关分析的教科书。该书是唯一一本具有以下特点的著作:附带空间分析和空间统计方面的...
arcgis-for-java-developers.pdf
arcgis js api 使用的字体,包括arial-unicode-ms-regular和arial-unicode-ms-bold,可以离线部署,特别是在内网使用的时候。