1. 程式人生 > >Web GIS訪問ArcGIS安全認證服務代理配置解決方案-Java版本

Web GIS訪問ArcGIS安全認證服務代理配置解決方案-Java版本

概述

在使用ArcGIS的地圖服務過程中,為了保障地圖服務的安全需要進行安全認證,具體來說有以下兩方面的考慮:一、保障使用者所訪問的地圖服務的安全,即只有經過認證的訪問者才能使用該地圖服務;二、保障服務提供者對服務的管控。

為了能夠滿足使用者的上述目標,ArcGISServer提供了Token的認證機制和代理機制相結合的解決方案。具體內容分以下兩部分:

一、使用者需要將所釋出的地圖服務設定為安全服務;

二、Web端通過API(譬如ArcGIS API for JavaScript)訪問地圖服務時,通過配置代理的方式請求地圖服務。

具體的解決方案步驟詳見【解決方案】章節。本方案定向服務於使用IIS伺服器管理

Web應用的使用者。

解決方案

具體的操作步驟分以下6步:

1、配置地圖服務為安全服務。登陸ArcGIS Manager,將所釋出的地圖服務設定為安全服務,具體操作如下圖所示:


2、部署java版本的代理頁面。將ESRI提供的代理頁面(建議放在一個目錄中,本案例使用java目錄存放所有的代理頁面)部署至Tomcat或者其他Web伺服器下,如下圖所示:

備註:代理頁面ESRI提供了多個版本(JavaDotNetPHP),使用者可以自行下載,地址如下:https://github.com/Esri/resource-proxy/releases。本案例中使用的是java版本,解壓後開啟java目錄即可看到上圖所示的頁面。

3、配置代理資訊。代理頁面需要預先配置即將要代理的幾個資訊,包括:ArcGIS ServerRest服務地址,Token伺服器地址,地圖服務管理員(釋出者\使用者)賬號和密碼(可採用登陸ArcGIS Manager的管理員賬號和密碼),以及部署ArcGIS API for JavaScript的應用地址。開啟%TomcatHome%\webapps\Java\WEB-INF\classes目錄下的proxy.config

serverUrl標籤中修改或補充相應引數對應的值,如下圖所示:

引數名稱

引數值

url

ArcGIS Server服務地址。格式:

http://ip(domain): 6080/arcgis/rest/services

此處的埠為ArcGIS Server的預設埠

matchAll

只有當用戶所請求的地址和url引數所指向的地址完全匹配時,才能通過此代理功能完成代理工作,否則無法執行代理

username

服務管理員或服務使用者賬號

地圖服務管理員(釋出者\使用者)賬號和密碼(可採用登陸ArcGIS Manager的管理員賬號和密碼)

password

tokenServiceUri

Token服務地址

格式:http://ip(domain):6080/arcgis/tokens/

此處的埠為Token的預設埠

clientId

部署ArcGIS API for JavaScript的應用地址

這裡建議使用JS應用的IP或域名即可

說明:這裡的clientId可以不用配置

4、客戶端程式碼調整。在JS程式碼中加入具體的代理頁配置:

require(["esri/config"],function(esriConfig){

                        //可使用絕對路徑,也可以使用相對路徑,具體看現場代理頁面的部署

           esriConfig.defaults.io.proxyUrl = "http://192.168.1.131/java/proxy.jsp"

           esriConfig.defaults.io.alwaysUseProxy = true;

        });

5、測試。可使用Fidder等工具監控地圖服務的訪問,可以看到已經使用了代理配置,如下圖所示:

相關推薦

Web GIS訪問ArcGIS安全認證服務代理配置解決方案-Java版本

概述 在使用ArcGIS的地圖服務過程中,為了保障地圖服務的安全需要進行安全認證,具體來說有以下兩方面的考慮:一、保障使用者所訪問的地圖服務的安全,即只有經過認證的訪問者才能使用該地圖服務;二、保障服

Asp.Net MVC 4 Web API 中的安全認證---使用OAuth

//文章轉載自 //  Oauth授權處理 http://www.cnblogs.com/n-pei/archive/2012/05/29/2524673.html#undefined 相關: http://www.cnblogs.com/n-pei/archive

arcgis js 跨域代理proxy設定(java

轉自:https://blog.csdn.net/wpz0713/article/details/50245041 為什麼要使用代理proxy? 答:未配置代理時server傳送請求是用get的方式,請求跨域訪問或者URL長度超過瀏覽器限制時,這就需要一個代理檔案proxy來轉發請求。Arc

移動端web頁面滾動不流暢,卡頓閃爍解決方案

方案 代碼 osi col 實現 移動端 ios端 出現 問題: 1.ios端的-webkit-overflow-scrolling屬性可控制頁面滾動效果,設置如下實現慣性滾動和彈性效果: -webkit-overflow-scrolling: touch 2.posi

mysql開啟skip-name-resolve 導致[email protected](localhost)訪問引發的ERROR 1045 (28000)錯誤解決方案

its 遠程訪問 5.6 速度 base mat change http oracl 為什麽配置skip-name-resolve? 由於mysql -h${ip} 遠程訪問速度過慢, mysql -h172.16.66.171 -uroot -p123456 根據網

xshell無法連接虛擬機服務器的解決方案

配置 虛擬 設置 iptables ada init 服務器端 ces 是否 排錯過程:1:xshell客戶端 ping 服務器IP 看物理鏈路是否暢通;2:xshell客戶端 telnet 服務器IP 22 看ssh默認端口22是否開通3:服務器端查看防火墻是否開

服務器上所有Word文件做全文檢索的解決方案-Java

不可 servlet 並保存 保存文件 客戶端請求 打開文檔 word文檔 文件的 文本文件 一、背景介紹 Word文檔與日常辦公密不可分,在實際應用中,當某一文檔服務器中有很多Word文檔,假如有成千上萬個文檔時,用戶查找打開包含某些指定關鍵字的文檔就變得很困難,目

雲搜索服務在日誌解決方案的應用

AD 智能 應用 如何 數字 開始 解決 follow href 在整體行業趨於數字化的今天,各種業務軟件每時每刻都在產生日誌數據。因為大數據的爆發,大家開始重視如何利用這些日誌,去解決業務上的難題。不可否認的是,隨著對數據資產的觀念興起,越來越多的運營人員和運維人員開始使

Docker-compose編排微服務順序啟動解決方案

實際專案中遇到的問題,eureka server如果在其他service後啟動,會導致部分service一直無法註冊成功, 參考網上的經驗,原文:https://www.jianshu.com/p/d2f39703bcb5,做下總結: 主要三種方式,其中第一種是無效的,但是很多部落格沒更新。 1. 用到

IBM區塊鏈專利:從物聯網和安全到食品追蹤運輸解決方案

區塊鏈定製開發逐步運用到各個領域。美國支付系統和物流業融合的巨頭IBM已經成為區塊鏈產品領域的領導者。      IBM的最新發展目標是物流業——但是IBM已經熱衷於研究區塊鏈五年多了,這表明企業級區塊鏈解決方案的採用是緩慢而穩定的。   探索物聯網   IBM首先開始探索區塊鏈技術,主要是

arcgis android 中文註記亂碼解決方案

       從arcgis api for android 10.2開始,中文註記亂碼的問題就一直困擾我。有文章中指出,是因為android手機fonts目錄中預設字型庫不支援中文導致的。可以通過設定textsymbol的字型解決,經測試

MySQL服務無法啟動解決方案

MySql免安裝版安裝配置,附MySQL服務無法啟動解決方案 - 陳大VV - 部落格園 陳大VV

Citco推出在Amazon Web Services上執行的新SaaS Æxeo Treasury™解決方案

基於雲的財資工具為另類投資基金經理提供支援   通過改善運營效率來增加價值,並提高安全性   紐約--(美國商業資訊)--面向金融服務行業的全球領先的服務供應商Citco Group of Companies(簡稱“Citco”)今天宣佈推

針對惠普伺服器SNMP採集頻繁,導致服務停止的解決方案

運維軟體:zabbix採集方式:snmp採集裝置:惠普-DL380_Gen9-伺服器採集週期:根據指標要求頻率有5分鐘到1天主要命令:reset /map1樂維服務中發現,snmp採集惠普伺服器一段時間後,zabbix提示連線失敗,重啟ilo後又可以重新採集,我們可以利用這一點做一

MySql免安裝版安裝配置以及MySQL服務無法啟動解決方案

MySql免安裝版安裝配置以及MySQL服務無法啟動解決方案       文首提要:             下載的MySQL版本是:mysql-5.7.17-winx64.zip &n

spring-boot不同包結構下,同名類衝突導致服務啟動失敗解決方案

專案背景:   兩個專案的包結構和類名都很多相同,於是開始考慮使用加一級包進行隔離,類似於這種結構 但是在啟動的過程中,丟擲來這樣的異常: 1 2 3 4 5 6 7 8 9 Caused by: org.springframework.

.net 無法通過巢狀型別訪問外部型別的非靜態成員-解決方案

主要是修改巢狀型別,在其建構函式中將外部型別傳進去;再在巢狀型別內部通過外部型別物件進行操作其成員函式! public class checkFlowThread { Form1 form1; public checkFlowThrea

PinusDB資料庫服務安裝失敗解決方案

     在Win7上安裝PinusDB資料庫過程中出現下面的錯誤的原因是系統安裝vc++ 2015 x64 執行庫失敗,需要升級windows版本或補丁。 確定作業系統版本對應下面的解決方案 1. Windows 7   &nb

關於spring boot 前臺訪問後臺過程中出現亂碼的解決方案

近日在開發spring boot 應用,發現將程式碼遷移到新的機器之後出現了在前臺進行業務的新增和編輯 輸入框輸入中文後,傳到後臺服務時全是亂碼(全是問號)經過一番排查之後得並不是因為資料庫編碼的問題,也不是tomcat encodeUrl 的編碼設定問題,而是因為機器環境本

[Web 前端] mobx教程(五)-Mobx常見問題及解決方案(1)Mobx使用嚴格模式

copy from : https://blog.csdn.net/smk108/article/details/83185745 mobx在嚴格模式下,不允許在 action 外更改任何狀態。但是不同版本嚴格模式的用法不同,3.x、4.x、5.x三個版本下的嚴格模式用法。 1、[email&#