ArcGIS 10.1 for Server Rest服务安全性管理:基于用户和角色权限

简介:

ArcGIS Server权限是赋予给角色对资源的访问能力,权限设置可以对ArcGIS Server服务,也可以对服务文件夹进行设置。如果对文件夹设置权限,则文件夹中的服务自动继承权限;如果是对文件夹中的服务设置权限,则将覆盖从文件夹中继承的权限。

   ArcGIS Server Rest服务针对应用程序来说,是基于角色来授权(不能直接给用户授权)。而用户访问该Rest服务时,只需要提供用户名和密码,ArcGIS Server将找到其对应的角色,验证该角色是否对服务资源具备访问权限


1   创建地州数据访问权限的角色wKiom1MN2KjxCK2AAAD_4z8FSxE463.jpg

wKiom1MN2Yjxq6twAAIFmSbrMlY456.jpg


2 创建用户

   创建两个用户user1和user2,给user1添加角色XJA和XJC,给用户user2添加角色XJB,如下所示:

wKioL1MN2eyAhM6FAAEhriuEFz4281.jpg

wKiom1MN2iCAvfnmAAGgHZTS8b4753.jpg


3    为角色授予访问权限

   给服务JueSe授权角色XJA和XJO才可以访问。

wKioL1MN21jD0_KGAADmSlj0ztA813.jpg


4 验证

   方法一: 在http://IP:6080/arcgis/rest/login页面查看  

   匿名用户登录,看不到服务JueSe,以用户user1登录,可以看到JueSe服务,以用户user2登录,看不到JueSe服务。

   方法二:采用令牌环

   在 Web 浏览器中打开http://IP:6080/arcgis/tokens/或http://IP:6080/arcgis/admin/generateToken申请token,输入如下信息:


  • 用户名:访问该资源的授权用户的名字。

  • 密码:用户的密码。

  • 客户端:使用token的客户端,提供三种类型:HTTP Referer、IP、Requeste IP,区别如下:

   HTTP Referer:选择此(默认)选项后,只能在指定 URL 涉及的请求中使用发布的令牌。这是发出访问 ArcGIS 资源请求的页面的 URL。如果通过 ArcGIS API for JavaScript 或基于 REST 的其他应用程序来构建应用程序(各客户端在此应用程序中发出通过 ArcGIS Server Web 服务直接访问地图和数据的请求),可使用此方法。

   IP:选择此选项后,只能在来自指定 IP 地址的请求中使用发布的令牌。

   Request IP:选择此选项后,只能在来自用于获取令牌的 IP 地址的请求中使用发布的令牌。

   注:如果在客户端应用程序\浏览器和 ArcGIS Server 之间有代理服务器,则必须将使用 IP 地址或此请求源的 IP 地址选项生成的令牌绑定到代理服务器的 IP 地址。如果在客户端应用程序\浏览器和 ArcGIS Server 之间有多个负载平衡代理服务器,则应使用 HTTP Referer 选项。

  • HTTP referer:如果Client选择了HTTP referer,这里就需要输入应用地址。

  • 有效期:自令牌发布时间起的持续时间,令牌在此持续时间内有效。

   注:指定的有效期必须小于或等于为长期令牌生命期配置的值。要在管理器中查看当前令牌属性,请单击安全性 > 设置,然后单击令牌设置旁的编辑图标。

  • 格式:此参数指定服务器对此令牌请求所作响应的格式。

   HTML:此选项以字符串格式显示服务器发布的令牌。要使用令牌,请复制字符串并将其附加到对受保护的 ArcGIS Server Web 服务的请求中。

   JSON:此选项返回 JSON 格式的令牌。当通过 Web 应用程序而不是 Web 浏览器请求令牌时,使用该选项。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<!DOCTYPE html>
<html>
<head>
     <meta http-equiv= "Content-Type"  content= "text/html; charset=utf-8" >
     <title>我的第一个地图应用</title>
     <link href= "http://localhost/arcgis_js_api/library/3.8/js/esri/css/esri.css"  rel= "stylesheet"  type= "text/css" >
     <script src= "http://localhost/arcgis_js_api/library/3.8/" ></script>
     <script type= "text/javascript"  src= "jsapi_vsdoc10_v38.js" ></script>
     <style type= "text/css" >
     html, body, .MapClass{
             padding:  0 ;
             margin:  0 ;
             height:  100 %;
     }
     </style>
     <script type= "text/javascript" >
         dojo.require( "esri.map" );
         //dojo.require("esri.layers.ArcGISTiledMapServiceLayer");
         function  init() {
             var  MyMap= new  esri.Map( "MapDiv" );
             var  MyTiledMapServerLayer= new  esri.layers.ArcGISDynamicMapServiceLayer( "http://IP:6080/arcgis/rest/services/xjuMobile/gsmTS/MapServer?token=tyWeXGA1oFQ-I49ZEQ8qzKNZ7EpPByFI0Fh6-rvXJMnEj1Hwp_cKANFRTlTfTVSR" );
             MyMap.addLayer(MyTiledMapServerLayer);
         }
         dojo.addOnLoad(init);
     </script>
</head>
<body>
     <div id= "MapDiv"  class = "MapClass" ></div>
</body>
</html>

参考文档:http://resources.arcgis.com/zh-CN/help/main/10.2/#/na/0154000005rp000000/
















     本文转自stock0991 51CTO博客,原文链接:http://blog.51cto.com/qing0991/1363946,如需转载请自行联系原作者

















相关文章
|
定位技术 数据格式
GIS开发:arcgis server发布CGCS2000切片
GIS开发:arcgis server发布CGCS2000切片
243 0
|
Kubernetes Shell 定位技术
Arcgis打包到docker,重启容器后发布的服务丢失解决方案。
Arcgis打包到docker,重启容器后发布的服务丢失解决方案。
246 0
|
缓存 定位技术
GIS开发:arcgis server切片数据和wmts
GIS开发:arcgis server切片数据和wmts
254 0
openlayer2 二:加载arcgis server图层
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/bitree1/article/details/80755803 1.
1572 0
|
SQL Oracle 网络协议
从零开始发布一个ArcGIS Server地图服务
从零开始发布一个ArcGIS Server地图服务
503 0
从零开始发布一个ArcGIS Server地图服务
arcgis server 修改IP后服务无法启动
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/bitree1/article/details/80081665 ip修改后会出现服务无法启动的现象,亲测解决方法如下: 找到Server站点的配置目录下的“arcgisserver\config-store\machines”目录。
1610 0
|
人工智能 数据可视化 API
ArcGIS API for Python
ArcGIS API for Python
80 0
|
JavaScript 前端开发 应用服务中间件
Arcgis api for javascript 详细部署
Arcgis api for javascript 详细部署
|
人工智能 数据可视化 数据管理
ArcGIS API for Python
ArcGIS API for Python
121 0
|
数据可视化 数据管理 API
​​​​​​​ARCGIS API for Python进行城市区域提取
​​​​​​​ARCGIS API for Python进行城市区域提取
​​​​​​​ARCGIS API for Python进行城市区域提取