有关设置用户和角色的概述
您可以通过 ArcGIS Server 管理器为服务和 Web 应用程序的角色指定访问权限。一个角色即是由一个或多个用户构成的一个组。而用户则是访问 Web 应用程序或 Web 服务的个体。一个用户可以隶属于多个角色。
例如,假设 John、Carla 和 Pat 是帮助管理自然资源的 GIS 服务器的所有用户。所有这三个用户都隶属于“常规访问”角色,该角色允许这些用户访问一组基础服务。但 John 和 Carla 还隶属于“水文学家”角色,从而使其能够访问其他服务。或许第四个用户 Maria 隶属于“组长”角色,从而能够访问所有服务。要切记,您可以将角色和访问级别配置为适合您的情况。
配置用户和角色的位置
在使用 ArcGIS Server 管理器中的工具来分配对服务或应用程序的访问权限之前,需要定义这些用户和角色的存储位置。有几个选项可供您选择。请参阅以下链接,以了解有关设置每个选项的详细信息。
Windows 用户和组 - 如果要充分利用 Web 服务器上的现有本地 Windows 帐户或域帐户,请选择此选项。使用域帐户时,Web 服务器必须位于用于身份验证的域中。
在 Intranet 中使用 ArcGIS Server 时,最常使用此选项。借助此选项,可以在 Web 服务器上使用集成 Windows 身份验证来实现单一登录 (SSO)。在此选项中内置了将凭据自动从 Web 应用程序传递到 Web 服务的功能。
Microsoft SQL Server Express - 如果要为用户和角色设置新列表并使用随 ArcGIS Server 提供的工具,可以使用此选项。您可以使用 Microsoft SQL Server Express(随 ArcGIS Server 提供)存储用户和角色,还可以使用自己的非 Express 版 SQL Server。管理器的“安全性”界面提供了用于管理存储于 SQL Server 内的用户和角色的工具。
在 Internet 中使用 ArcGIS Server 时,最常使用此选项,因为您可能不希望为 Internet 用户提供 Windows 凭据。当您希望 Web 应用程序与其使用的 Web 服务具有不同凭据时,此选项也很有用。
自定义提供程序 - 您可能想要将用户和角色存储在 SQL Server 或 Windows 操作系统以外的位置。此处提供的选项包括其他类型的数据库和 XML 文件。
此选项使用 ASP.NET 自定义成员资格提供程序。要使用此选项,将需要获取和配置 .NET 提供程序以用于用户/角色存储。例如,可获取第三方提供程序以将 Oracle 数据库用于用户和角色存储。此外,您也可以编写自己的自定义提供程序。有关详细信息,请参阅 ASP.NET 成员资格的文档。您可以将此选项用于与上述 Microsoft SQL Server 相同的情况(除了当您想要将用户和组存储在 Microsoft SQL Server 以外的位置时)。
默认情况下,用户和角色存储在同一位置。如果选择 Windows 用户,则可选择将角色存储在 SQL Server 或自定义提供程序中。如果选择此选项,请务必确保 SQL Server(或自定义提供程序)中的角色所包含的成员名称拼写正确,因为它们将用于 Windows 用户帐户。
管理器将相同的用户和角色存储用于所有 Web 服务和 Web 应用程序。如果要为服务使用与应用程序不同的位置,则不能使用同一个管理器实例来保护服务和应用程序。您可以使用管理器来保护服务,使用其他工具来保护应用程序;或使用管理器来保护应用程序,使用外部工具来保护服务。如果选择第一种方式(管理器仅保护服务),则不会在管理器内为任何 Web 应用程序启用安全性。相反,可通过手动配置应用程序或使用 Microsoft 的网站管理工具 (WSAT),为各 Web 应用程序配置安全性。有关使用 WSAT 的信息,请参阅保护 Web 应用程序。
另一种方式是使用“添加实例”工具添加 ArcGIS Web 应用程序的另一个实例。这样,即可使用一个 ArcGIS 实例来管理 GIS Web 服务,而使用另一个实例来管理 Web 应用程序。有关详细信息,请参阅 ArcGIS Server 实例。
配置文件
配置用户和角色的存储位置时,此信息将被写入 ArcGIS Server 中的配置文件。实际的用户和角色本身将分别存储于您所指定的存储位置。而配置安全性存储的使用方式的信息将存储于 ArcGIS Server 配置文件中。通常,应使用管理器编辑配置,而此处的信息是针对可能需要手动修改安全性设置的用户提供的。
与安全性相关的所有设置都存储在标准的 ASP.NET 配置设置中。要了解上述设置的详细信息,请查阅 ASP.NET 的相关参考资料。
安全性设置的中心位置位于 <ArcGIS 实例>\Security Web 应用程序(例如 http://myserver.example.com/ArcGIS/Security,默认的物理位置位于 C:\Inetpub\wwwroot\ArcGIS\Security)。此应用程序文件夹中的 web.config 文件包含 ArcGIS Server 实例的安全性配置。如需手动配置提供程序(例如,要添加自定义成员资格提供程序),则可编辑此 web.config 文件(有关自定义提供程序的详细信息,请参阅在自定义提供程序中设置用户和角色)。
使用向导配置安全性时,将更新 Security Web 应用程序中的设置,然后将这些相同的设置复制到其他几个应用程序中。而这些应用程序包含同一个 ArcGIS 实例中的三个应用程序:Rest、服务和令牌。同样,如果先前使用管理器保护任何应用程序,则会在这些应用程序中更新设置。接下来,当使用管理器保护任何其他 Web 应用程序时,同样会将这些设置复制到应用程序的 web.config 文件中。
如果对“安全性”应用程序的 web.config 文件进行任何更改,则应运行安全性 > 设置 > 更改向导。这样会将更改内容复制到应用安全性的应用程序中。此外,由于管理器可以调整多个应用程序的安全性设置,因此建议您使用管理器对安全性设置进行更改,而不要尝试手动进行更改。