要素服务允许您控制用户可对服务执行哪些类型的编辑。通过在 ArcMap 服务编辑器 的要素访问选项卡中启用或禁用相应的操作和属性可以实现此目的。
允许对要素服务执行的操作
您可从服务编辑器的要素访问选项卡来启用或禁用以下要素服务操作:
- 创建使编辑者可以将要素添加到要素服务中。默认情况下,会启用此操作。
- 删除使编辑者可以在要素服务中删除要素。默认情况下,会启用此操作。
- 提取使编辑者可以将数据的副本提取到文件地理数据库或 SQLite 数据库内,方法是使用应用了 createReplica REST 操作的自定义应用程序,同时将 syncModel 参数设置为 none。默认情况下,此操作处于禁用状态。
- 借助同步,用户可在离线情况下处理要素服务数据。默认情况下,此操作处于禁用状态。要了解详细信息,请参阅准备离线使用的数据。
- 更新使编辑者可以在要素服务中更新要素。默认情况下,会启用此操作。
用户需要通过查询操作在要素服务中查看数据。因此,从 ArcMap 进行发布时,需将查询操作一直保持在启用状态,且无法将其禁用。
如果您需要仅允许用户创建要素而无法对其进行查看、更新或删除的要素服务,则可在启用创建和查询操作的情况下从 ArcMap 发布要素服务。发布后,可在 ArcGIS Server Manager 中打开要素服务并禁用查询操作。这对仅需要用户输入新要素而不需要查看、编辑或删除现有要素的自定义应用程序尤其有用。请注意,服务所有者和 ArcGIS Server 管理员仍旧可以查看、编辑和删除现有要素。
如果禁用了某项操作,那么当用户尝试执行该操作所对应的任何动作时,服务就会返回错误。客户端应用程序,比如那些通过 ArcGIS Web API 构建的应用程序,可在尝试应用编辑内容前检查所允许的操作。您可以对这些应用程序进行设计以禁用或限制相应的命令,从而与允许的操作相符。
对于要素服务中能够存储附件的图层,要素服务的编辑者可通过创建或更新操作向要素添加附件。编辑者可通过更新操作进一步更新或删除与要素相关联的附件。如果仅启用了删除操作,则编辑者可以删除附件。
如果编辑者将编辑 ArcMap 的要素服务中的数据,则请启用创建、删除和更新功能。如果未启用全部三种功能,则当编辑者创建数据的本地副本以用于编辑时,ArcMap 中会出现错误。要了解详细信息,请参阅关于在 ArcMap 中编辑来自要素服务的数据。
注:
所允许的操作仅适用于非管理用户,例如 ArcGIS Server 发布者或用户角色的成员。服务器管理员和服务所有者对启用了所有操作的服务具有完全访问权限。
影响编辑的属性
要素访问属性根据您设置的操作构建,并使您能够进一步控制其他用户能够对要素服务进行的操作。例如,如果您启用了更新操作,但是您希望编辑者仅编辑非空间属性,则您可以禁用允许几何更新属性。或者,如果您希望编辑者编辑几何,但前提是该几何不包含真曲线,则您可以启用允许几何更新但需禁用允许更新真曲线。以下列表描述了这些和其他与编辑有关的,可为要素服务设置的属性:
- 允许几何更新使编辑者可以对要素服务中要素的几何进行编辑。默认情况下,会启用该选项。如果禁用此选项,则编辑者只能更新要素服务中要素的非空间属性。
- 允许更新真曲线使编辑者即便在几何包含真曲线时也能更新几何。注意,如果编辑者从不支持真曲线的任意客户端更新真曲线几何,则要素的真曲线几何将替换为增密几何。
默认情况下,将启用此操作,并且此操作仅在已启用允许几何更新时可用。如果禁用允许更新真曲线,则编辑者会在尝试编辑真曲线几何时接收到错误。
- 默认情况下将启用仅允许由真曲线客户端更新真曲线,这有助于保护真曲线数据不被增密几何替代。如果您希望确保真曲线几何仅通过能够保留真曲线的客户端进行编辑,则请将此属性保持为启用。如果您的工作流不包含使用能够保留或创建真曲线的客户端,则您可以禁用此属性。
警告:
当前仅有 ArcGIS Pro 1.3 及更高版本支持真曲线几何。如果数据中包含真曲线,且您启用了允许更新真曲线但未启用仅允许由真曲线客户端更新真曲线,则当采用其他 ArcGIS 客户端编辑时,几何将以增密版本的真曲线的形式返回。
- 可通过应用默认 z 值指定默认的 z 值。如果编辑者通过要素服务添加或更新要素且未指定 z 值,则将应用此默认 z 值。有关详细信息,请参阅为可编辑的要素服务配置默认 z 值。
- 允许在没有 m 值的情况下进行几何更新,此设置可在启用了要素服务中用于存储 m 值的图层,但尚未使用该 m 值的情况下使用。当编辑者通过要素服务编辑要素几何时,如果客户端未提供值,则将插入 NaN m 值。有关详细信息,请参阅配置包含启用了 m 值的图层的可编辑要素服务。
- 对要素启用基于所有权的访问控制可防止用户访问不属于他们的要素。有关详细信息,请参阅要素服务基于所有权的访问控制。
注:
针对要素的基于所有权的访问控制仅适用于企业级地理数据库,而不适用于数据库。
高级编辑选项
单击要素访问选项卡上的高级选项按钮,以配置以下与通过要素服务来编辑数据相关的其他选项:
- 通过要素服务进行编辑时,可通过应用编辑时向用户名添加范围指定要附加至所记录的 ArcGIS Server 用户名的值。此选项有助于区分用户是通过要素服务进行编辑,还是直接针对地理数据库中的数据进行编辑。要启用此选项,请选中应用编辑时向用户名添加范围,然后输入您希望添加至用户名的范围值。有关详细信息,请参阅要素服务的编辑器追踪。
- 为每一个创建版本选项可影响到包含版本化数据且启用了同步的要素服务的行为。默认选项为已下载地图。如果希望在每次离线使用包含要素服务的地图时生成一个版本,请将此选项保持在启用状态。但如果希望为下载地图的每位用户生成一个版本,请启用用户选项。有关针对在离线地图中使用版本化数据的说明(包括对这些选项的说明),请参阅离线地图与版本化数据。
- 过滤 Web 内容可防止输入不受支持的 HTML 实体或属性。此选项在默认情况下启用,除非编辑者需要输入这些不受支持的 HTML 实体的功能,否则不要禁用过滤 Web 内容。禁用此选项将允许用户向输入字段中输入任何文本,这样会使服务暴露于跨站点脚本 (XSS) 的潜在攻击之中。
配置多个访问级别
如果您需要支持多个级别的用户(每个级别均需要不同的操作),则建议为每个级别的用户都创建一个服务。例如,您可以创建一个启用了所有操作的 Professors 服务。同时,还可以创建一个仅启用创建、查询和更新操作的权限较低的 Students 服务。