ArcGIS Server 9.3 安全管理机制3–对Web Services的安全管理

我们也可以对GIS Server上发布的Services进行安全管理。不同于对Web App的安全管理,如果一个service启用了安全机制,那么安全验证由使用这个service的web app来提供,这是自动完成的,而每一个使用此web app的用户则不需要注意到这些细节(而对web app进行管理之后,每个使用此web app的用户都得通过登陆来通过安全验证以使用此web app);如果是通过客户端比如Desktop来使用一个启用了安全机制的service,则需要在catalog中进行验证后使用,如图:(add gisserver,use services,填写用户名和密码。是在manager中创建的用户和相应的密码)

与前面相同,访问启用了安全管理的services首先要完成对用户身份的Authentication,根据users&roles存储位置的不同来决定是由IIS还是ASP.NET来完成此项工作;在Authentication之后,由SOM根据用户身份来赋予用户对service的访问权限。如图:

首先需要说明一下GIS Server中services的组织方式。9.3中可以通过文件夹来组织发布的services,即将services发布到不同的文件夹中(不论是在manager或catalog中发布service的时候都有相应的选项)。如图:

在上图中,根文件夹中有一个service(左下角的),每一个客户端都可以使用这个service;在根文件夹中创建了一个internal文件夹,里边有两个services。而对internal这个文件夹赋予相应的role:anylists,则只有anlysts角色的用户才能使用这个文件夹底下的services。对右下角这个service(在internal文件夹中)赋予editor角色,则只有editor角色的用户才能访问这个服务,即使是analysts角色也不能访问。可以看出,可以在文件夹和各服务两个级别对service进行安全管理,而每个service的设置会覆盖父文件夹的设置。
那么如何对services进行安全管理呢?也是通过manager来完成。首先需要在manager,security,settings中启用对services的安全管理,如图:
启用后:
![]()
注意:一旦启用了对services的安全管理,则无法在manager中关闭这个功能(至于在什么地方来关闭它,我想……这和没有钥匙却要开保险柜是一个道理)。因为设计中考虑,既然开启了对services的安全管理,则不允许任意一个可以访问manager的人来轻易禁用已经设计好或者已经在使用的安全管理了。

也可通过每个service后面的小锁来针对单独的serivce进行角色管理。
![]()
至此,就实现了ArcGIS Server 9.3中的安全管理机制。
本文介绍了ArcGIS Server 9.3中安全管理机制的具体实现方法,包括如何对Web Services进行安全管理,以及如何通过文件夹组织和角色分配来控制不同用户的访问权限。

被折叠的 条评论
为什么被折叠?



