概述
在使用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服务器部署应用的用户,旨在确保地图服务的安全性,包括防止未经授权的访问以及服务提供者的控制。这个解决方案利用ArcGIS Server的Token认证机制和...
arcgis for java api. arcgis jar. arcgis-runtime-sdk-java-100.5.0
ArcGIS Runtime SDK for Java 100.13.1是Esri公司推出的一款强大的地图和地理空间应用程序开发工具,它专为Java开发者设计,提供了一整套API和功能,使得开发人员能够构建桌面、移动和Web应用,实现地图展示、地理...
通过arcgis-runtime-sdk-java-200.1.0这个压缩包,开发者可以获得所需的库文件和资源,按照官方指南配置项目,即可开始开发。 5. **最佳实践** - **设计模式**:理解并应用MVC(Model-View-Controller)或其他设计...
在arcgis开发者官网下载的rumtime 100.11.2开发包java版本,由于官网抽风经常上不去,我下载了上传造福大家
总的来说,理解和掌握ArcGIS Server的跨域配置以及CORS-filter和java-property-utils的使用,对于开发基于ArcGIS Server的Web GIS应用至关重要。通过这样的配置,开发者可以构建更加灵活、交互性强的Web应用程序,为...
Google earth的替代品ArcGIS-Earth2.0版本:ArcGIS-Earth-x64-Setup-2.0.exe
6. **Services and Web Applications**:ArcGIS Server允许开发者部署GIS服务,可以创建Web Map Services (WMS) 和 Web Feature Services (WFS),以供Web应用访问。 7. **地图投影和地理坐标系统**:了解不同坐标系...
ArcGIS Runtime SDK for Java 100.8.0 是Esri公司开发的一款强大的地理信息系统(GIS)开发工具,专为Java开发者设计,用于构建桌面、移动和Web应用程序。这个版本的SDK提供了丰富的功能,使得开发者能够轻松地在...
arcgis
ArcGIS JS API 跨域配置是指在 JS 开发中遇到的访问本地服务和外网服务的问题,需要使用 Proxy 代理来解决跨域访问文件的问题。ArcGIS 的帮助中已经有了相关的介绍和使用配置。 一、使用代理配置 在 ArcGIS JS API...
这些API使得开发者可以通过Web服务的形式访问和管理GIS数据及服务。此外,开发者还可以利用ArcGIS API、REST和SOAP与ESRI数据源进行交互,从而在自定义应用中实现GIS功能。这不仅提高了应用的灵活性,还增强了数据...
### ArcGIS Server:企业级GIS解决方案深度解析 #### 引言 随着信息技术的飞速发展,地理信息系统(GIS)在企业决策、城市规划、资源管理等领域的应用日益广泛。ESRI作为全球领先的GIS软件提供商,其ArcGIS Server...
- ArcGIS Server:现代的服务器端GIS解决方案,提供地图服务、地理处理服务、图像服务等,支持大规模数据的管理和高性能的Web GIS应用。 4. **移动GIS (ArcPad)** ArcPad是专为野外作业设计的移动GIS应用程序,可...
- **安装与部署**:解压"arcgis-web-appbuilder-2.25.zip",在服务器上部署WAB,确保所有依赖项已正确配置。 - **创建应用**:通过WAB的启动器,选择或创建一个新的应用项目,然后添加所需的小部件和配置参数。 -...
通过深入研究《Web GIS开发——ArcGIS Server与.NET》的源码,开发者不仅能学习到Web GIS的基本原理,还能掌握实际项目开发中的技巧和最佳实践,这对于提升GIS开发技能和解决实际问题具有极大的价值。
6. 安全与身份验证:介绍ArcGIS Server的安全机制,包括身份验证、授权和访问控制,以及如何为Web GIS应用实施安全策略。 7. 移动和离线GIS:探讨移动设备上的GIS应用开发,包括使用ArcGIS Runtime SDKs创建离线...
在GIS(地理信息系统)领域,Esri的ArcGIS JavaScript API是一个强大的工具,用于构建Web地图应用。这个API允许开发者在网页上集成地图、图层、分析功能以及与地理数据的交互。在创建这些互动的地图应用时,字体的...
1. 安装与集成:下载arcgis-runtime-sdk-java-100.13.1压缩包,按照官方文档指引进行安装,并将其引入到Java项目中。 2. 示例代码:利用官方提供的示例代码和教程,快速上手开发,例如加载地图、添加图层、执行地理...