Web GIS访问ArcGIS安全认证服务代理配置解决方案-IIS版本
分享
概述
在使用ArcGIS的地图服务过程中,为了保障地图服务的安全需要进行安全认证,具体来说有以下两方面的考虑:一、保障用户所访问的地图服务的安全,即只有经过认证的访问者才能使用该地图服务;二、保障服务提供者对服务的管控。
为了能够满足用户的上述目标,ArcGISServer提供了Token的认证机制和代理机制相结合的解决方案。具体内容分以下两部分:
一、用户需要将所发布的地图服务设置为安全服务;
二、在Web端通过API(譬如ArcGIS API for JavaScript)访问地图服务时,通过配置代理的方式请求地图服务。
具体的解决方案步骤详见【解决方案】章节。本方案定向服务于使用IIS服务器管理Web应用的用户。
解决方案
具体的操作步骤分以下6步:
1、配置地图服务为安全服务。登陆ArcGIS Manager,将所发布的地图服务设置为安全服务,具体操作如下图所示:
2、部署IIS版本的代理页面。将ESRI提供的代理页面(建议放在一个目录中,本案例使用dotnet目录存放所有的代理页面)部署至IIS下,如下图所示:
备注:代理页面ESRI提供了多个版本(Java、DotNet和PHP),用户可以自行下载,地址如下:https://github.com/Esri/resource-proxy/releases。本案例中使用的是DotNet版本,解压后打开DotNet目录即可看到上图所示的页面。
3、配置代理信息。代理页面需要预先配置即将要代理的几个信息,包括:ArcGIS Server的Rest服务地址,Token服务器地址,地图服务管理员(发布者\使用者)账号和密码(可采用登陆ArcGIS Manager的管理员账号和密码),以及部署ArcGIS API for JavaScript的应用地址。打开C:\inetpub\wwwroot\dotnet目录下的proxy.config
在serverUrl标签中修改或补充相应参数对应的值,如下图所示:
4、客户端代码调整。在JS代码中加入具体的代理页配置:
require(["esri/config"],function(esriConfig){
//可使用绝对路径,也可以使用相对路径,具体看现场代理页面的部署
esriConfig.defaults.io.proxyUrl ="http://192.168.1.131/dotnet/proxy.ashx"
esriConfig.defaults.io.alwaysUseProxy = true;
});
5、测试。可使用Fidder等工具监控地图服务的访问,可以看到已经使用了代理配置,如下图所示:
文章来源:http://kevinzeng.iteye.com/blog/2283361
在使用ArcGIS的地图服务过程中,为了保障地图服务的安全需要进行安全认证,具体来说有以下两方面的考虑:一、保障用户所访问的地图服务的安全,即只有经过认证的访问者才能使用该地图服务;二、保障服务提供者对服务的管控。
为了能够满足用户的上述目标,ArcGISServer提供了Token的认证机制和代理机制相结合的解决方案。具体内容分以下两部分:
一、用户需要将所发布的地图服务设置为安全服务;
二、在Web端通过API(譬如ArcGIS API for JavaScript)访问地图服务时,通过配置代理的方式请求地图服务。
具体的解决方案步骤详见【解决方案】章节。本方案定向服务于使用IIS服务器管理Web应用的用户。
解决方案
具体的操作步骤分以下6步:
1、配置地图服务为安全服务。登陆ArcGIS Manager,将所发布的地图服务设置为安全服务,具体操作如下图所示:
2、部署IIS版本的代理页面。将ESRI提供的代理页面(建议放在一个目录中,本案例使用dotnet目录存放所有的代理页面)部署至IIS下,如下图所示:
备注:代理页面ESRI提供了多个版本(Java、DotNet和PHP),用户可以自行下载,地址如下:https://github.com/Esri/resource-proxy/releases。本案例中使用的是DotNet版本,解压后打开DotNet目录即可看到上图所示的页面。
3、配置代理信息。代理页面需要预先配置即将要代理的几个信息,包括:ArcGIS Server的Rest服务地址,Token服务器地址,地图服务管理员(发布者\使用者)账号和密码(可采用登陆ArcGIS Manager的管理员账号和密码),以及部署ArcGIS API for JavaScript的应用地址。打开C:\inetpub\wwwroot\dotnet目录下的proxy.config
在serverUrl标签中修改或补充相应参数对应的值,如下图所示:
4、客户端代码调整。在JS代码中加入具体的代理页配置:
require(["esri/config"],function(esriConfig){
//可使用绝对路径,也可以使用相对路径,具体看现场代理页面的部署
esriConfig.defaults.io.proxyUrl ="http://192.168.1.131/dotnet/proxy.ashx"
esriConfig.defaults.io.alwaysUseProxy = true;
});
5、测试。可使用Fidder等工具监控地图服务的访问,可以看到已经使用了代理配置,如下图所示:
文章来源:http://kevinzeng.iteye.com/blog/2283361
0 个评论
推荐内容
- ArcGIS Pro 2.4向独立server发布服务步骤
- Linux上安装ArcGIS Enterprise超详细教程——以Redhat7.2上安装ArcGIS Enterprise 10.5为例
- ArcGIS for Server 10.x 许可授权手册
- Portal for ArcGIS 10.X许可授权手册 (Windows版)
- arcgis server 无法手动删除切片
- ArcGIS for Server内置JS Viewer的离线部署和配置
- Linux上安装ArcGIS for Server超详细教程——以Redhat6.5上安装ArcGIS for Server 10.3.1为例
- 如何创建Geometry Service?
- 地图服务优化策略
相关问题
- 如何优雅的使用ArcGIS知乎?
- 建设ArcGIS知乎平台的目和意义?
- ArcGIS知乎社区改进意见征集
- 【抽奖结果已出】ArcGIS知乎社区活动 之 你不知道的地理空间革命【转发分享有奖】【附奖品寄送照片】
- 苹果系统下可以使用arcgis 吗?
- 请问ArcGIS适合在局域网内用javaweb做二次开发吗?
- arcgis版本兼容性
- ArcGIS 知乎社区活动 之 字幕组加鸡腿暨KBP字幕组招新【获奖名单公布与优秀作品展示】
- 请问大神们,怎么用ArcGIS做城镇间经济联系强度的图?
- 在Visual studio 2015 中使用 Arcgis API for JavaScript v3.16 如何实现代码智能提示?
- ArcGIS如何求栅格图像的“质心”