可以使用 PrintingTools 服务打印包含安全服务的地图。
Web 层身份验证
如果您的 ArcGIS Server 与 ArcGIS Enterprise 门户联合且只有门户的 ArcGIS Web Adaptor 使用 web 层身份验证(IWA、PKI、基本等),打印安全服务将按预期工作。对于不使用 web 层身份验证系统的部署也是如此。
但是,如果您的 ArcGIS Server 站点的 Web Adaptor 使用 web 层身份验证,则 PrintingTools 服务和自定义打印服务将无法打印您站点的任何服务。无论是联合还是独立的 ArcGIS Server 站点,都存在此限制。
短期令牌
如果您使用短期令牌(默认)保护您的服务,则打开 Web 应用程序时将要求用户提供名称和密码。用户请求打印地图时,此令牌将传递到 PrintingTools 服务。
将凭据嵌入到服务中
某些情况下,发布您自己的、包含受保护服务的打印服务时,您需要将凭据嵌入到从受保护服务请求地图时可使用的打印服务中。本部分结尾处的步骤将详细介绍如何进行此操作。
如果在 Web 应用程序代码中嵌入一个长期令牌,则身份验证信息将无法传递到 PrintingTools 服务。无论服务器如何配置,您都需要通过下列步骤将凭据嵌入到打印服务中。
如果在 Web 服务器层实施安全性保护且将 ArcGIS Server 与 ArcGIS Enterprise 门户联合,则默认情况下支持利用 PrintingTools 服务打印地图而无需附加步骤。但是,如果您拥有 ArcGIS Server 的独立安装且在 Web 服务器层实施安全性保护,则需要通过以下步骤嵌入凭据。
警告:
建议您在未全面了解安全性影响的情况下,不要将凭据嵌入到自定义打印服务中。如果您选择发布自己的服务以使用嵌入凭据进行打印,则建议您应用 ArcGIS Server 安全性规则来限制能够访问该服务的用户。这将阻止匿名用户生成可显示受保护服务的可打印地图图像。有关安全性设置的详细信息,请参阅控制服务的访问权限。
注:
这些步骤仅当准备要在 ArcMap 中发布的打印服务时可用。要从 ArcGIS Pro 在自定义打印服务中嵌入凭据,您可以使用 ArcPy 中的 ImportCredentials 功能。
- 在 ArcMap 的目录窗口中,展开工具箱 > 我的工具箱。
- 右键单击我的工具箱,然后单击新建 > 工具箱。
- 指定工具箱的名称,例如 SecurePrinting.tbx。
- 在目录树中,展开工具箱 > 系统工具箱 > Server Tools.tbx > 打印。
- 右键单击导出 Web 地图工具,然后单击复制。
- 右键单击在步骤 2 中创建的工具箱,然后单击粘贴。
- 右键单击您的工具箱中已粘贴的导出 Web 地图工具,然后单击编辑。
- 单击加号 (+) 按钮并浏览至包含希望打印的受保护服务的 GIS 服务器连接。
此连接需要在其内部保存名称和密码。而且应该是一个用户连接,而不是发布者或管理连接。
如果您没有看到任何可用的连接,则应返回目录树并按照从 ArcGIS Desktop 连接到 ArcGIS Server 中的说明建立一个连接。
可将连接添加到您所需要的用以支持打印服务的所有服务器。完成添加连接后,请单击确定。
- 按照教程:发布用于打印的其他服务中的步骤,将您自己工具箱中的导出 Web 地图工具发布为一个地理处理服务。在教程的步骤 2 中,打开您在上述步骤中所粘贴的导出 Web 地图工具。不要打开服务器工具工具箱中的原始导出 Web 地图工具。