arcgisengine常用接口及方法(ArcGISPro开发Web3D应用3)

1、整体环境搭建完成

  WebAdaptor、DataStore、Portal for arcgis、arcgis server、arcgis pro都成功部署安装,不管是同服务器还是不同服务器,最好做到【SSL证书统一】。

  2、服务与应用权限分组管理

  Portal for arcgis提供各种分组权限管理,不管是部门还是小组,到分公司,分局,都有明确的管理,服务托管到Arcgis server集群中,集群环境统一证书和GIS版本。

  3、访问安全资源,官方提供了明确的方法
  • OAuth 2.0:这可以保护对服务器资源的委派访问。
  • arcgis令牌:这是Esri基于令牌的专有身份验证机制。
  • 网络凭据:HTTP安全服务/集成Windows身份验证(IWA)。
  4、Proxy代理实现

  这里只针对Arcgis javascript api,WEB实现做说明。

  1)ArcGIS for JavaScript获取token,实现安全资源数据访问

  2)Portal for arcgis资源访问,代理设置和证书问题,实现对SSL的访问;

  这里的问题是:“根据验证过程,远程证书无效。”,经过如此处理可以解决问题。

private bool ValidateServerCertificate(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors) { return true;//这里设置成true } //插入的地方是这个方法:Processrequest

public void ProcessRequest(HttpContext context) {   ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(ValidateServerCertificate);   。。。 }

  5、使用代理
  • 如果应用程序中的所有请求都使用相同的代理,请使用请求对象的proxyUrl属性指定位置。您还可以使用请求对象的forceProxy属性指定请求是否应始终通过代理。这会强制应用程序将代理用于使用请求生成的所有AJAX请求以及通过<img>元素添加的任何图像。

require(["esri/config"], function(esriConfig) { esriConfig.request.proxyUrl = "/resource-proxy/Java/proxy.jsp"; esriConfig.request.forceProxy = true; });

  • 也可以使用特定的代理规则配置应用程序。这些规则定义具有相同URL前缀的特定资源的代理。当应用程序尝试通过此URL访问资源时,请求将通过指定的代理发送。该请求的proxyRules属性是一个对象,列出所有这些代理规则。要填充它,请使用urlUtils.addProxyRule()。

require(["esri/core/urlUtils"], function(urlUtils) { urlUtils.addProxyRule({ urlPrefix: "route.arcgis.com", proxyUrl: "/resource-proxy/Java/proxy.php" }); });

  大功完成,再也不需要输入账户来访问了,也不用头疼http和https的证书访问了,二三维数据源随便调用。

arcgisengine常用接口及方法(ArcGISPro开发Web3D应用3)(1)

原创版权声明,转载请说明出处,谢谢。

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页