要素服务提供了一种通过 web 分享数据的方式,并在用户连接到要素服务时允许用户编辑数据。如果您已针对要素服务中的数据启用了编辑者追踪,则 ArcGIS Server 能够记录通过要素服务编辑数据的用户以及编辑的时间。此信息存储在数据所有者定义的字段中,用于启用对源数据的编辑者追踪。
可以针对每一要素类或表启用编辑者追踪。您可以使用以下任意一种方法来启用要素服务中的一些或所有图层的编辑者追踪:
- 从 ArcGIS Desktop 使用启用编辑者追踪地理处理工具或运行 Python 脚本调用该工具。
- 连接到 ArcGIS Pro“目录”窗格中的地理数据库要素类或表,从管理上下文菜单中启用编辑者追踪。
- 连接到 ArcMap 目录树中的地理数据库要素类或表,从上下文菜单或属性对话框中启用编辑者追踪。
注:
- 您只能在企业级和工作组级地理数据库(而非数据库)中启用编辑者追踪。
- 只有要素类或表的所有者才可以启用编辑者追踪。
- 发布要素服务后,如果在源要素类和表上启用编辑者追踪,则务必重新启动要素服务。
如果经过身份验证的用户所编辑的要素服务包含启用编辑者追踪的图层,则登录到 ArcGIS Server 站点的用户将记录在创建者和编辑者字段,且添加或编辑要素的日期和时间将分别记录在创建和编辑日期字段。
如果未经过身份验证的用户编辑了已启用编辑者追踪的要素服务,则 ESRI_Anonymous 将记录在创建者和编辑者字段,且相应的创建或编辑日期将设置在地理数据库中;但是,如果通过要素服务查看这些字段,这些字段将显示为空。请注意,如果您向 ArcGIS Online 或 ArcGIS Enterprise 门户添加了不受保护的要素服务(换言之,未向该服务提供 ArcGIS Server 凭据),则这些编辑将被视为来自未经过身份验证的用户,同时 ESRI_Anonymous 将记录在创建者和编辑者字段。
抢先版本:
要追踪创建或编辑数据的人,应用程序将需要请求 ArcGIS Server 凭据,这样可以获得包含此信息的令牌。将该令牌追加到要素服务的请求中,以便联系到发出请求的人。
为何使用编辑者追踪?
以下是为何使用编辑者追踪的示例。
问责制和质量控制
追踪编辑者和应用编辑的时间可帮助您强化添加到地理数据库的要素的问责制和质量控制。您可追踪要素的创建者、上一个编辑者或者最后一次编辑日期,以便查看负责对现有要素进行特定编辑的人员。如果打开存档,则可以获得编辑的全部历史记录,包括要素的删除和原始创建者。
追踪随时间的更改
要了解随时间变化的编辑的数量,可追踪最后一次编辑日期和创建日期。这可帮助您确定趋势并得出与日期的关系。如果打开存档,则可能不需要同时追踪编辑以满足这些要求。
应用基于所有权的访问控制
可以限制访问,这样只有创建要素的用户可以访问它。为此,需要配置服务以根据要素的创建者强制访问。这将在要素服务基于所有权的访问控制中详细讨论。
在 ArcMap 中编辑要素服务
您在 ArcMap 中编辑要素服务时,在安装 ArcMap 的计算机上将创建服务器数据的复制副本(子复本)。系统将对本地副本进行编辑,之后同步回服务器。写入服务器的编辑者、编辑日期、创建者和创建日期分别基于登录到 ArcGIS Server 站点进行同步的用户和进行编辑的日期。
编辑者追踪和时区
通过 REST 使用要素服务时,所有日期均记录并返回到 UTC 中。当在要素类中启用编辑者追踪时,Esri 建议您配置用于记录编辑的日期字段以使用 UTC。
如果无法将 用于追踪编辑内容的日期字段(例如,字段由其他应用程序使用导致无法使用 UTC),当发布要素服务时,请指定用于数据库的时区。
范围和编辑者追踪
范围是您所定义的用于唯一地标识用户及其编辑数据方式的字符串(例如,@server)。您可在两个位置定义范围:包含数据的地理数据库和各个要素服务。对于在地理数据库中设置范围以标识经过数据库身份验证且通过桌面客户端进行编辑的用户,其相关信息请参阅 ArcMap 帮助中关于追踪编辑者对数据的更改。您可以定义一个范围,将该范围追加到所记录的进行编辑的用户名中。
您也可以通过要素服务为所进行的编辑追加范围。对于启用了编辑者追踪功能的数据,如果访问包含该数据的受保护的要素服务,则 ArcGIS Server 会将您的用户名应用于您所进行的任何编辑。ArcGIS Server 还会追加已对要素服务配置的任何范围。
例如,考虑用户 Mary 登录 ArcGIS Server 并添加要素的情况。将创建者在地理数据库中设置为 Mary。如果将要素服务配置为使用范围 @server,则后续编辑将显示在名为 Mary@server 的数据库中。
为帮助您追踪通过要素服务做出的编辑,请按照下列 ArcGIS Server Manager 步骤或 ArcMap 步骤以设置要素服务的范围:
在 ArcGIS Server Manager 中设置要素服务范围
- 打开 ArcGIS Server Manager 并登录。如需此步骤的帮助,请参阅登录 Manager。
- 单击服务 > 管理服务。
- 在服务模块中,单击要素服务的名称。如果列表中没有该服务,那么其可能位于站点(根)目录中的某一子文件夹中。
- 在编辑模块中单击功能。
- 单击要素访问(注意不要清除复选框)。
- 在属性部分,单击高级选项。
- 选择应用编辑时通过范围限定用户名。
- 选择使用默认范围还是应用自己的范围。
- 单击确定。
在 ArcMap 中设置要素服务范围
- 在目录树中展开 GIS 服务器节点。
- 双击 ArcGIS Server 站点的管理连接。如果您需要建立管理连接,请参阅在 ArcMap 中建立与 ArcGIS Server 的管理连接的相关说明。
- 右键单击要素服务相关的地图服务,然后选择服务属性。
- 单击服务编辑器对话框中的要素访问选项卡。
- 单击高级选项。
- 在要素服务高级选项窗口,选择应用编辑时向用户名添加范围。
- 选择使用默认范围还是应用自己的范围。
- 单击确定。
如果服务器检测到登录的用户名已包括一个范围,则服务器将不会追加自己的范围。
使用集成的安全模型
可以在数据库和服务器范围之间映射用户。如果用户需要对 ArcGIS Desktop 中的地理数据库直接进行编辑并且还通过要素服务在 web 上编辑,则可能要执行此操作。您会希望在这两个环境中使用同一个用户登录。完成此操作的工作流如下:
- 在地理数据库和 ArcGIS Server 中设置与登录帐户匹配的帐户。
- 设置数据库和服务器以使用相同的范围或完全不使用同一个范围。