`
hanyi366
  • 浏览: 289284 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

ArcGIS Server 安全:基于Token(令牌)的验证操作指南

 
阅读更多

ArcGIS Server的安全服务其实并不像大家想的那样艰深,ArcGIS Server Manage作为一个管理服务的工具,可以创建并管理数据库的安全,以及对某些服务以及文件访问的许可。

 

第一步:在锁定你的服务器前,需要先创建一个数据库来进行安全管理。

登入ArcGIS Server Manager, 点击Security,再点击SettingSetting窗口里有一个可以连接到database serverwizard(向导),创建一个新的数据库表格去存储许可。在这个过程中,要确定一个复选框,用来自动生成一个user和适合“Everyone”的role,我们在下一步会用到。【疑问:默认绑定的Sql数据库,按照向导可以勾选Everyone角色;但是如果使用Oracle其他数据库的话,如何设置Everyone角色呢?】

 

第二步:生成角色(roles)和用户(users

服务许可是通过角色来管理的。当你成功地创建了一个角色以后,你就可以创建一个新的用户或者把已有的用户添加到该角色中。在ArcGIS Server Manager wizard中可以非常轻松地完成这个用户和角色的创建。

 

第三步:锁定你的服务

现在有了一个数据库,你就可以锁定你的服务了。

再回到第一步里的“Security”的“Setting”部分。

找到“Security for GIS Services is:   Not Enabled”,这旁边有一个按钮是“Enable

注意:一旦你选择了这个“Enable”,你在ArcGIS Server Manager中就不能取消了,不过也不用害怕,在接下来的一步中你可以解决这个问题。

 

第四步:在root 级别中,给“Everyone”授予许可

现在你是被锁定的,你需要给你的服务授予许可。

接下来的几步是假设你有一些公共或私人服务。即时security是打开的,我们也想确保我们的公共服务仍然是公开的,而不需要用户名/密码。

点击“Services”键,这里应该是会自动到“Manage Services”去,如果没有,请在你的根目录里改变“Services In”的下拉值,然后点击Manage Folders -> Permissions,在根目录中,通过添加访问名单到role中来授予“Everyone”许可。

这样security就打开了,但是你的服务还是公开的。我建议在安装ArcIGIS Server时就完成以上步骤,这样就可以在需要时快速添加许可。

 

第五步:锁定ArcGIS Server文件夹

现在你的服务都是公开的,如果需要专门锁定某些服务应该怎样呢?

如果你的服务是在文件夹中,就很容易办到了。现在假设你的文件夹叫“Private”,你需要把“Services in”中的值修改成你的private文件夹,然后,点击Manage Folders - > Permissions,添加你创建的role到这个文件夹,并确定从访问名单中移除“Everyone”。

现在该文件夹中的服务就会要求输入与这个role关联的用户名和密码了。

 

第六步:通过REST界面访问受保护的文件夹

如果你正在用ArcGIS Server Javascript. API开发应用程序,那么REST 界面就是你最好的朋友。但是,你会发现你锁定的文件夹不显示在你的服务根目录下:

http://<servername>/ArcGIS/rest/services

访问“Private”文件夹,直接输入受保护文件夹的URL

http://<servername>/ArcGIS/rest/services/Private

这样就会打开一个登入窗口,然后输入用户名/密码进行访问。

 

第七步:在ArcGIS Server for Javascript. API app中应用一个受保护的服务

接下来介绍如何在公开的ArcGIS Server for Javascript. API app中嵌入受保护的服务,这样做的目的就是使用户无需获取你的服务的URL而是直接在他们自己的app中应用。

为了节省篇幅,这里就假设你已经有了一个代理页面设置在你的app中,如果没有,那可能有两种情况,一种是没有刷新页面,还有一种就是查询结果超过2000个字符,IE无法获得返回数据。以下是一个设置你的代理的链接:

http://resources.esri.com/help/9.3/arcgisserver/apis/javascript/arcgis/help/jshelp/ags_proxy.htm#webprint

既然假设你已经有了一个代理设置,那么第一步就是在你的JavaScript中更新你的代理设置。

现在你是被保护的,而你每一次查询都将会利用这个代理页面,如果不是这样,就把app中的“alwaysUseProxy”设置成“true”。

 

第八步:基于token的验证

基于token的验证是用来验证那些应用了JavaScript. APIArcGIS Server服务。这里有两种方法:1.通过token生成页面来创建一个token2.创建一个动态token

 

方法1:通过token生成页面来创建一个token

ArcGIS Server安装程序的security中你可以访问到一个token生成页面:

http://<servername/ArcGIS/Tokens/ gettoken.html(你也可以从REST界面上找到这个页面)输入一个有效的用户名/密码,并返回一个token值。

改变proxy.config中的httphttps,在proxy.config文件中复制粘贴这个token到服务URL中。

下面是ESRI help中的例子:

<serverUrl url="https://www.example.com/arcgis/rest/services/MyMapSecureService/MapServer" matchAll="false"token="5fFo4%2fI4Tv8IGSqSYbpUNORRD%2fYxXMSPo6NEHNNGMpt9CMknpXIjEVqYGm3uuQnU" ></serverUrl>

token生成页面默认的这个token只能用10天,你可以在ArcGIS Server Manager中修改,或者你也可以按照下面这个方法设置你的服务。

 

方法2:创建一个动态token

如果你想创建一个动态token,就必须先下载一个新的proxy.ashx页面。

之前我们粘帖过一个ESRIusers forums是关于这个操作的,里面有新的代理文件,可以从下面这个链接下载:

http://forums.esri.com/Thread.asp?c=158&f=2396&t=297001#926770

下载完这个zip文件后,替换掉你原来的proxy.ashx页面,然后再在proxy.config文件中更新你的服务的URL,将http改成https,添加下面的新属性:

dynamicToken="true"
host=""
userName=""
password=""

 

带Token值rest方式访问服务的格式:http://ip/ArcGIS/rest/services/服务名/MapServer?token=Token值,获取的token值是由客户端访问的ip地址生成。

分享到:
评论

相关推荐

    ArcGIS Server开发指南基于Flex和.Net源码

    ArcGIS Server开发指南基于Flex和.Net数据随书光盘内容.分两个文件上传。

    ArcGIS Server开发指南--基于Flex和.NET源码.part2

    ArcGIS Server开发指南--基于Flex和.NET源码第二部分

    openlayers4.0+arcgis10.1+token

    动态获取token意味着在每次请求地图服务之前,都会先通过用户凭据向ArcGIS Server发送请求,获取一个时效性的token,然后将这个token作为参数传递给地图服务请求,以验证用户的访问权限。 **集成OpenLayers 4.0与...

    ArcGIS Server开发指南——基于Flex和.NET随书光盘

    【ArcGIS Server开发指南——基于Flex和.NET随书光盘】是针对GIS(地理信息系统)开发者的一份宝贵资源,特别关注于使用ArcGIS Server构建Web应用程序。这份资源包含多个组件,旨在帮助开发者深入理解如何利用Flex和...

    ArcgisServer10.2.ecp.zip

    1. 安装ArcGIS Server 10.2:首先,用户需要下载并安装ArcGIS Server的完整安装包,遵循Esri提供的安装指南。 2. 配置许可服务器:安装完成后,用户需要配置许可服务器,指定许可证文件的位置。这通常在ArcGIS ...

    ArcGIS Server开发指南基于Flex和.Net

    ArcGIS Server开发指南基于Flex和.Net数据随书光盘内容.分两个文件上传。此为文件一

    解决arcgis server跨域问题

    解决arcgis server跨域问题: 1、停掉ArcGIS Server的服务。 2、 打开&lt;ArcGIS Server&gt; \framework\runtime\tomcat\conf\web.xml,注册跨域bean 3、lib下拷贝 cors-filter-2.5.jar java-property-utils-1.9.1.jar包 4...

    arcgis server 开发中文培训资料

    - REST API:讲解基于HTTP的RESTful服务接口,用于访问和操作ArcGIS Server上的服务。 - SOAP API:介绍使用SOAP协议与ArcGIS Server交互的方法。 - ArcGIS JavaScript API:学习如何在Web应用中使用JavaScript...

    ArcGIS Server开发指南--基于Flex和.NET源码.part1

    ArcGIS Server开发指南--基于Flex和.NET源码每一部分

    局域网内以ArcGIS Server Local的方式连接ArcGIS Server服务器

    这种配置的目的在于确保Web站点能够顺利地访问到ArcGIS Server提供的服务,同时也要保障服务的安全性和稳定性。 #### 二、服务器端配置 ##### 2.1 创建新用户 首先,在服务器端需要创建一个新的用户账户,该账户...

    arcgis server 10.2.2许可文件.zip

    许可文件在ArcGIS Server中的作用不言而喻,它是验证软件合法性的关键组件,确保用户在使用该软件时遵循了Esri的授权协议。ArcGIS Server 10.2.2的许可文件通常包含了一系列的加密信息,这些信息与特定的软件版本、...

    ArcGIS学习指南—ArcToolbox.pdf

    ArcGIS学习指南—ArcToolbox.pdf

    Arcgis server 10.8.1授权. ECP

    1. **系统需求**:确认硬件(如CPU、内存和磁盘空间)和操作系统(如Windows Server或Linux)满足ArcGIS Server的最低和推荐配置。 2. **安装**:下载并运行安装程序,选择合适的安装选项,如安装路径、服务账户等...

    ArcGIS Server 10.5 ecp

    ArcGIS Server 10.5提供基于REST的API,使得开发人员可以轻松地构建与GIS服务交互的Web应用。这个API支持JSON格式,具有良好的可扩展性和跨平台性。 8. **性能优化** 在10.5版本中,ArcGIS Server对服务性能进行...

    ArcGIS server 找回密码

    - **环境兼容性**:请确保您的操作系统版本与ArcGIS Server版本兼容,以免出现不必要的问题。 #### 四、总结 忘记ArcGIS Server的登录密码是很常见的现象,但通过上述步骤,您可以轻松地找回或重置密码,从而继续...

    ArcGIS Server实用操作教材

    【ArcGIS Server实用操作教材】是一本专门为初学者设计的指南,旨在帮助用户迅速理解和熟练运用ArcGIS Server这一强大的地理信息系统(GIS)服务器平台。ArcGIS Server是Esri公司开发的核心产品之一,它允许用户发布...

    ArcGIS Server 10.0-10.5的ecp文件

    这个压缩包包含了从10.0到10.5版本的ArcGIS Server的ecp文件,这些文件对于理解和操作ArcGIS Server的不同版本具有重要意义。 ecp文件全称为“Enterprise Client Profile”,它是ArcGIS Server的一个关键组件,主要...

    arcgis server 10.5 Crack

    3. **安全性与授权**:ArcGIS Server 提供了强大的安全机制,包括用户身份验证、角色管理、服务级别的权限控制等,确保数据和服务的安全。描述中的“可直接使用”可能指的是破解后的版本绕过了正常授权流程,这在...

    ArcGIS Server Linux安装文档

    * 高安全性:ArcGIS Server 提供了强大的安全机制,保护地理信息数据的安全。 ArcGIS Server 的应用 ArcGIS Server 广泛应用于各个行业,例如: * 政府机构:ArcGIS Server 可以用于政府机构的规划、管理和决策。...

    Arcgis格式1:1万地形图符号库

    《ArcGIS格式1:1万地形图符号库详解》 在地理信息系统(GIS)领域,符号库是至关重要的组成部分,它决定了地图上各种地物、地形的视觉表现形式。ArcGIS,作为全球领先的GIS软件,提供了强大的符号库管理功能。本篇...

Global site tag (gtag.js) - Google Analytics