ArcGIS Server10安全配置tokens方式讲解学习.docx
《ArcGIS Server10安全配置tokens方式讲解学习.docx》由会员分享,可在线阅读,更多相关《ArcGIS Server10安全配置tokens方式讲解学习.docx(11页珍藏版)》请在冰豆网上搜索。
![ArcGIS Server10安全配置tokens方式讲解学习.docx](https://file1.bdocx.com/fileroot1/2022-10/11/dd696ae7-41ce-4dec-81be-6604c6ad232a/dd696ae7-41ce-4dec-81be-6604c6ad232a1.gif)
ArcGISServer10安全配置tokens方式讲解学习
ArcGISServer10安全配置(tokens方式)
ArcGISServer安全配置
安装完ArcGISServer10后,你就可以通过ArcGISDesktop家族系列软件(如ArcCatalog、ArcMap等)或通过ArcGISServer10管理器发布地图服务了。
对于各种发布的地图服务,哪些地图是任何人都可访问、哪些是只有指定的人可以访问、客户对地图服务具有什么样的权限,这些就涉及到ArcGISServer的安全配置了。
安全性配置包括对安全性存储(SecurityStore)、GIS服务安全性的配置(SecurityforGISServices),下面介绍安全配置中的Tokens方式介绍安全性配置的一般过程。
1.首先,在服务器端以管理员身份(或你安装ArcGISServer时的具有管理服务器的帐号,如ArcGISSOM,ArcGISSOC,ArcGISWebService登录到ArcGISServer的管理器),当然你也可以通过本机的ArcCatalog来管理服务器。
操作过程为:
点击开始->程序->ArcGIS->ArcGISServerfortheJavaPlatform->ArcGISServerManager.单击后弹出如下图1所示登录界面。
图1
2.管理用户与角色
在ArcGISServerManager页面,点击左边栏的Security选项。
如图2所示。
图2
点击后,下拉列表中会显示Users,Roles,Settings,ExportTokenService选项。
在配置安全性前,我们要先定义好用户与角色。
其中角色与用户是一对多的关系。
比如创建角色”user”,它可以有多个用户,如John,Tom等。
单击Users,弹出如下图3界面:
图3
点击AddUser按钮后弹出添加用户的界面,如图4。
图4
其中打*号的是必填项。
下面的AvailableRoles就是该新定义的用户可以隶属的权限范围。
填写完后,单击AddUser。
至此,一个新用户的添加就完成了。
对于角色(Role)的添加,与用户的定义差不多,此处不再赘述。
示例中添加了用户John,KangKang.
他们的角色分别是user与administrator.
3.安全性存储(SecurityStore)的配置。
ArcGISServer附带一个轻量级的嵌入式数据库系统。
默认情况下,会将主存储(也称为安全性存储)配置为使用该数据库维护用户和角色信息。
还可将ArcGISServer配置为使用存放在任何关系数据库(例如,MicrosoftSQLServer或MySQL)和/或目录服务器(例
如LDAP或Microsoft活动目录)中的用户和角色信息。
下面的屏幕截图5显示用于配置安全性存储的Web页面。
这里以ArcGISServer提供的默认数据库为例。
图5
安全性存储配置概述
要设置安全性存储,可在SecurityStroe选项卡上单击Configue。
这样会出现一个向导,它有助于分别设置用户存储和角色存储。
步骤1(共3步):
UserStore
选择要存放用户信息的存储。
单击与特定类型的数据存储关联的Configue链接来为数据存储输入连接参数(以便ArcGIS能够连接并访问信息)。
要使用开箱即用的Derby存储,请选择Default(InternalDataStore)选项,然后单击下一步。
步骤2(共3步):
RoleStore
选择要存放角色信息的存储。
要使用开箱即用的Derby存储,请单击下一步。
步骤3(共3步):
SecurityStoreConfigurationSummary
该页面用于汇总存储配置。
如果对配置感到满意,可单击Finish或进行必要的编辑。
到此,安全性存储告一段落。
4.GIS服务安全性(SecurityforGISServices)的配置。
点击管理器左边栏中的Security,单击Settings子项。
在SecurityforGISServices中可以启用安全性配置。
如下图6所示。
图6
选中EnableSecurityforGISServices前的复选框启用安全性配置。
本文选择ArcGISTokenServiceAuthentication方式来配置服务安全性。
选中ArcGISTokenServiceAuthentication及UsetokenservicerunningonthisinstanceofArcGISServer前的复选框,单击Configure后进入ConfigureLocalTokenService对话框对Token进行配置。
如图7所示。
图7
其中:
Timedurationforshortlivedtokens:
定义客户所获得token存活的最短时间;
Timedurationforlonglivedtokens:
定义客户所获得token存活的最长时间。
Sharedkeyforencryptingtoken:
令牌服务的共享密钥用于为令牌加密,密钥的长度应为16个字符(超出16个字符以外的任何字符均不会被采用)。
建议使用一组随机字符设置密钥。
任何字符都可以使用,包括非字母数字字符。
应将密钥设置为任何有可能截获令牌的人都无法轻易猜中的值。
由于用户无需使用或记住密钥,因此设置密钥与设置密码不同,复杂的密钥值并不会对用户造成不便。
配置完成后单击OK,回到图6所示界面,点击Save.至此GIS服务安全性配置告一段落。
5.对发布的地图服务权限的设置
在ArcGISServerManager左边栏单击Services并点击其子项ManagerServices.在右边栏中的Servicesin这一栏的最后一项(),可以设置用户(包括管理员与普通用户)对根文件夹的权限。
如图8所示。
图8
本文示例中选中了administrator这个角色。
如图9所示。
图9
其次可以设置具体用户(包括管理员与普通用户)对具体服务的权限。
单击具体服务中Security下的小锁图标,可设置哪些人可以访问此具体服务。
本示例中选中了administrator与user,如下图10所示。
图10
另外一定要注意一点:
不论你在哪个地方修改了安全、权限的设置,请一定要回到图6所示界面点击Save按钮。
这样你所做的修改才能真正生效!
6.用户对token的获得
1.GetToken网页
令牌服务中附带了用于手动请求令牌的HTML网页。
通常只在使用ArcGISServerAPIforJavaScript构建Web应用程序时或在进行测试和故障排除时才需要该网页。
WebADF应用程序和ArcGISDesktop等客户端可自动检索令牌,因此并不需要该网页。
GetToken网页所在的ArcGISServer实例位于https:
//:
<端口>/arcgis/tokens/gettoken.html(或者,如果已导出令牌服务并将其部署在Web服务器上,可以用Web服务器域名替换,并使用指向已部署的应用程序的上下文路径替换arcgis/tokens)。
要使用GetToken页面,请输入以下信息:
∙用户名和密码:
ArcGISServer上的ArcGISWeb服务的有效用户凭据。
有效用户是指使用设置面板上的ArcGISServer管理器配置的用户。
∙客户端ID:
发出访问Web服务的请求的计算机的标识符。
具有客户端ID才能获得使用期限较长的长期令牌;使用ArcGISAPIforJavaScript时通常会要求具有客户端ID。
指定客户端ID的方法共有两种:
▪IP地址:
这将使令牌与指定的计算机绑定。
如果始终在指定的计算机中使用令牌,则可使用该选项,例如在通过ArcGISServerAPIforSOAP构建的Web应用程序中(在此应用程序中将由服务器发出访问ArcGISWeb服务的请求)。
在测试和排除ArcGISServer故障时也可使用这种方法。
▪HTTPreferrer:
这是发出访问ArcGISWeb服务请求的页面的URL。
如果通过ArcGISServerAPIforJavaScript或其他基于REST的应用程序来构建应用程序(各客户端在此应用程序中发出通过ArcGISWeb服务直接访问地图和数据的请求),可使用此方法。
∙有效期:
令牌的有效期,该值介于一分钟到最大值之间。
2.令牌请求格式
要从服务器获取令牌,需发出URL请求。
ArcGISDesktop、WebADF、WebAPI和移动客户端等使用令牌的客户端都使用此方法,且使用方式与上述GetToken页面相同。
使用tokens端点请求令牌
可使用tokens端点请求令牌。
例如,以下URL可用于从服务器获取令牌:
该请求可为用户myuser获取一个运行于同一服务器()的Web应用程序的令牌,有效期为一天(1440分钟)。
可以指定查询字符串中的以下参数:
∙request:
此参数的值始终为gettoken(request=gettoken)。
必填信息。
∙username:
用户在系统上的用户名。
必填信息。
∙password:
用户在系统上的密码。
必填信息。
∙clientid:
用于标识客户端的可选参数。
在类型和值之间使用一个“.”字符。
如果未指定clientid,令牌将使用短期令牌超时设置。
值:
▪ip:
客户端的IP地址。
示例:
clientid=ip.10.14.102.85
▪ref:
使用此令牌的webapp的基本URL。
如果客户端参数的值是referrer,则必须指定此参数。
示例:
clientid=ref.http:
//myserver/mywebapp
▪requestip:
如果将值指定为requestip(请求IP),则为发出请求的IP生成令牌。
示例:
clientid=requestip
∙expiration:
可选参数,指定令牌发出后的有效期。
该值以分钟为单位。
如果未包括此参数,expiration将使用短期令牌超时设置。
∙f:
作为ArcGISServer10.0ServicePack1(SP1)的新增功能,此可选参数用于指定输出格式。
它接受值“json”,以json格式返回结果。
如果未指定此参数,将以文本格式生成令牌。
示例:
{"token":
"hjSXkAQl2uczsyE9T3NDvhcso6WVYWSAqBcn1GFB-L8.","expires":
"1289513369381"}
有效期以毫秒表示,计算的起始时间为1970年1月1日。
∙callback:
可选参数,用于指定回调函数