1 常见用户需求
在发布和使用GIS服务的过程中,经常会遇到如下的一些需求:
1)凡是内网的员工,都可以访问服务A
2)服务B只能由张三、李四访问
3)只要是信息所的用户,就可以访问服务C
4)项目1涉及的全部服务,王五都可以访问
5)小赵也可以参与安全管理
6)小马主要负责发布服务
7)……
这是最基本的一些服务安全控制需求,针对这些需求,ArcGIS提供了完整的解决方案—基于角色的访问控制体系。
2 基于角色的访问控制体系
2.1 角色
在访问设置了权限控制的服务时,我们只需要提供用户名密码,ArcGIS Server将找到其对应的角色,验证该角色是否对服务资源具备访问权限。2.1.1 User
即最普通的用户角色,能够访问已被授权访问的服务,通常在应用程序中使用该类角色。2.1.2 Publisher
10.1中新增的角色类型,能够访问所有的服务,发布新服务,管理已有的服务。此外还能够查看日志、创建缓存,部署/卸载SOEs,也可以查看用户、角色信息和存储配置。具体权限如下表:2.1.3 Administrator
即Server最高管理员,拥有不受限制的完整权限,考虑到系统安全,应尽量减少这里角色的用户,并务必谨慎使用。2.2 用户
用户必须属于某类角色,ArcGIS Server默认只有一个账户,即主站点管理员。在实际应用中,需要根据部门资源分配情况,以及项目管理情况来划分用户。通常Administrator账户只有一两个,Publisher可根据需要适当设置几个,但也不宜太多;User账户则可根据实际情况进行设置,没有数量的限制。2.3 权限
权限是赋予给角色对资源的访问能力,权限设置可以对ArcGIS Server服务,也可以对服务文件夹进行设置。如果对文件夹设置权限,则文件夹中的服务自动继承权限;如果是对文件夹中的服务设置权限,则将覆盖从文件夹中继承的权限。3案例效果
3.1 创建角色、用户
本例创建了多个User类型的角色,用于表示Esri中国各地分公司,如esrisw表示Esri中国西南分公司。![](http://img13.poco.cn/mypoco/myphoto/20120912/16/66030159201209121635341000943909428_008.jpg)
然后为每个角色创建了相应的用户,例如为esrisw创建了chengdu和chongqing两个用户。
![](http://img13.poco.cn/mypoco/myphoto/20120912/16/66030159201209121635341000943909428_007.jpg)
3.2 为角色授予访问权限
为角色授予访问权限,例如本例中,授权esrisw角色访问sw服务目录,则chegndu和chongqing用户就可以访问其中的sw_cities和sw_provinces服务了。![](http://img13.poco.cn/mypoco/myphoto/20120912/16/66030159201209121635341000943909428_006.jpg)
![](http://img13.poco.cn/mypoco/myphoto/20120912/16/66030159201209121635341000943909428_005.jpg)
3.3 匿名用户登录
以匿名用户登录,将看不到sw服务目录。![](http://img13.poco.cn/mypoco/myphoto/20120912/16/66030159201209121635341000943909428_004.jpg)
3.4 授权用户登录
以授权用户(如chegndu)登录,将可以看到sw服务目录,并可查看其中的服务。![](http://img13.poco.cn/mypoco/myphoto/20120912/16/66030159201209121635341000943909428_003.jpg)
![](http://img13.poco.cn/mypoco/myphoto/20120912/16/66030159201209121635341000943909428_002.jpg)
![](http://img13.poco.cn/mypoco/myphoto/20120912/16/66030159201209121635341000943909428_001.jpg)
3.5 未授权用户登录
以未授权用户(如beijing)登录,也不能看见sw服务目录。![](http://img13.poco.cn/mypoco/myphoto/20120912/16/66030159201209121635341000943909428_000.jpg)