有关安全性的多个 ArcGIS Server Web 实例

一个 ArcGIS Server 实例仅支持一个用户位置、角色位置及身份验证方法的组合(有关用户和角色的详细信息,请参阅有关设置用户和角色的概述)。如果需要支持多种类型的身份验证方法或用户/角色存储,可以设置多个 ArcGIS Server 实例。

通常,每个 ArcGIS Server 系统均包含一个与服务器对象管理器 (SOM) 相连的实例。本部分描述了将多个 ArcGIS Server 实例连接到一个 SOM 的配置。

例如,您在内部网络中可能拥有多个用户,并想要允许这些用户使用其 Windows 帐户登录。但是,对于 Internet 上的外部用户,您想要在 SQL Server 数据库中设置帐户。由于一个 ArcGIS Server 实例仅支持一个用户位置,因此您将为每个用户类型设置单独的实例。

管理多个实例时需要考虑以下两个问题:

添加 ArcGIS Server 实例

<ArcGIS Server 安装目录>\DotNet\AddInstance.exe 中包含一个用于添加和移除实例的实用程序。从 Windows 资源管理器中双击这个可执行程序,可打开此工具。按照向导中的说明添加新实例。

为实例选择的名称将反映在其他用户访问实例时所使用的 URL 中。例如,如果输入 ArcGIS2,则服务 URL 可能为 http://myserver/ArcGIS2/services。

完成向导后,可能需要几分钟的时间来创建实例。如果您决定稍后将某个实例移除,则可以使用同一个实用程序。

使用新实例

新实例拥有自己的管理器。要访问该管理器,请转到开始 > (所有)程序 > ArcGIS > ArcGIS Server for the Microsoft .NET Framework > ArcGIS Server 管理器 <实例名称>。使用新管理器为新实例配置用户和角色存储。您将注意到,服务 面板中列出的服务及其权限与原始管理器中列出的相同。有关在多个实例中管理权限的重要信息,请参阅下一部分。

新实例不会列出使用其他实例创建的 Web 应用程序。每个实例均会维护使用该实例创建的各自的应用程序列表。

每个实例均位于创建该实例的 IIS Web 服务器目录下。例如,如果您在端口 80 上的默认网站中创建了一个名为 ArcGIS2 的新实例,并且 IIS 服务器使用默认位置,那么该实例的位置将是 C:\Inetpub\wwwroot\ArcGIS2。新实例所包含的文件夹集(其中包括 Rest、Services 和 Security)将与原始实例所包含的文件夹集相同。

管理具有多个 ArcGIS Server 实例的权限

因为权限存储在 SOM 中,所以共享 SOM 的多个 ArcGIS Server 实例也将共享相同的服务权限集。单击服务或文件夹的权限按钮时,您将看到通过实例的管理器添加的角色权限。

必须对文件夹和服务的权限加以管理,以便这两个实例中的用户可以对服务进行相应的访问。由于权限是基于角色而非用户进行分配的,因此必须确保所需服务允许每个实例的角色。因为使用其中任何一个管理器的管理员都能看到相同的允许角色列表,所以可能会误将另一个管理器中所允许的角色移除。

建议您采用以下两种策略之一来管理角色和权限:

注意注意:

请注意,当其中一个实例使用 ASP.NET 成员时,三个内置角色(任何人、经验证的用户和匿名用户)将应用于所有实例。例如,假设您正在针对一个实例使用 Microsoft SQL Server 成员资格提供程序,而针对另一个实例使用 Windows 操作系统用户和组。这样,当您授予对 SQL Server 实例中的根 Web 服务文件夹的访问权限时,所有 Windows 用户在与网络建立连接后便可看到所有 Web 服务。


3/7/2012