• ArcGIS Pro开发Web3D应用(3)——Server/Portal授权服务开发


      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、使用代理

    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的证书访问了,二三维数据源随便调用。

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

  • 相关阅读:
    T-sql for xml path使用
    解决 SQL Server2012附加出错的问题
    安装应用程序 报“ 997 重叠 I/O 操作在进行中”错解决办法
    使用QQ互联登录应用
    monogdb windows环境下 安装及使用简单示例
    idle-实现清屏
    colorscheme-如何vim颜色风格
    android-从官网下拉源码(ubuntu)
    hq-源码编译
    文件目录进入终端
  • 原文地址:https://www.cnblogs.com/ajg016/p/proxysq.html
Copyright © 2020-2023  润新知