要素服务具有多个访问控制级别和编辑追踪功能。当您构建协同编辑类型的应用程序时,这些功能将非常有用。
- 编辑者权限用于控制用户是否可以添加、删除或修改服务中的要素。例如,您可能会允许编辑者添加要素,但不允许他们修改或删除要素。
- 编辑者追踪用于记录创建或更新要素的用户和时间。在需要建立编辑内容的问责制时,这项功能将会非常有用。可选的历史追踪功能保留了要素随时间发生更改的相关信息,允许编辑内容回滚。此功能仅适用于企业级地理数据库而不适用于数据库。
- 基于所有权的访问控制允许您根据要素的创建人员限制对各要素的访问权限。例如,可在允许用户创建和编辑个人数据的同时,限制其只能查询其他用户所创建的数据。此功能仅适用于企业级地理数据库,而不适用于数据库。
以上功能使用令牌来记录和检查用户名。开发人员可强制用户在使用应用程序之前必须先提供各自的 ArcGIS Server 登录凭据。开发人员随后会使用这些凭据从 ArcGIS Server 中获取令牌。令牌中包含了有关登录人员的加密信息,并允许用户根据其各自的访问级别使用服务中的要素。
设计服务及其对应的应用程序时,您可以使用以上任意或全部功能项。以一个 Web 应用程序为例,用户可在此应用程序中报告其所在社区的犯罪情况。编辑者追踪会告知您有关犯罪事件的报告人员和报告时间。通过基于所有权的访问控制,可确保某一居民报告的犯罪事件不会被另一居民(如罪犯)删除。最后,您可以关闭修改现有犯罪的功能,而只允许添加和删除。
要素服务权限和编辑者追踪的情境
以下几种情境下,您可以在应用程序中组合使用编辑者权限、编辑者追踪和基于所有权的访问控制。这些情境的描述将帮助您了解如何根据应用程序的用途对要素服务设置最佳的属性组合。
仅志愿者
在“仅志愿者”类型的 Web 应用程序中,所有编辑人员均为匿名的志愿者。符合此描述的 Web 应用程序将允许用户在其当前位置放置一个点。这种情况下,该服务将只提供查询和创建操作。由于不会对要素进行修改,因此对数据创建人员进行追踪的功能并不重要。而且,编辑者追踪和历史记录也不是必要的。如果需要,管理员可以直接在 ArcGIS Desktop 中打开数据集,删除其中的无用要素。
仅权威人士
在“仅权威人士”类型的应用程序中,所有用户都可以编辑数据,而且会对编辑内容进行追踪。比如说,一个允许用户协同处理其所在城镇中的所有树木的数字化资产清单的应用程序,就属于这种类型。志愿者可以添加、修改或移除数据库中的任一树木要素,但前提条件是他们必须登录到应用程序中才能进行这些编辑操作。
在“仅权威人士”应用程序中,用户可以查询任何要素的历史记录来详细查看什么人在什么时间进行了更改。需要时管理员可回滚编辑操作。数据库中会追踪并存储每个要素的最近编辑者。
志愿者和权威人士
您可以在需要同时实现志愿者和权威人士功能的应用程序中使用多个要素服务。例如,假设您所在的生物学家团队正在收集国家公园中的野生生物信息。其中每个人负责一个研究区域,但您需要通过协作来分析并发布针对整个公园的综合性的最终成果。您还需要收集图片、视频以及游客对公园的评论。
要管理此数据集合,您可能需要提供一个只能由生物学家编辑的栖息地要素服务以及一个所有人均可编辑的观测点要素服务。Web 应用程序的开发人员可编写一个业务逻辑,使登录程序的生物学家可以同时看到这两种要素服务,而匿名用户则只能看到其中的观测点要素服务,还可能看到由地图服务绘制的栖息地区域的不可编辑图像。