1.ArcGIS Server Manager中配置訪問服務的用戶名、密碼、角色等,並配置地圖服務的具體角色名稱
2.在ArcGIS JS中配置使用代理,下述代碼將esri的請求中,以http://xxx.com開頭的,統一轉發到代理程序 /proxy.ashx中
require(["esri/core/urlUtils"], function(urlUtils) { urlUtils.addProxyRule({ urlPrefix: "http://xxx.com", proxyUrl: "/proxy.ashx" }); });
3.將從github上下載的代理文件,放到網站的根目錄中。
配置proxy.config,在<serverUrls></serverUrl>中增加節點
<serverUrl url="http://xxx.com" hostRedirect="http://localhost:6080" matchAll="true" username="OneMapUser" password="123456" dynamicToken="true" host="http://localhost:6080"/>
上述節點含義為,將以http://xxx.com開頭的請求,統一轉發到http://localhost:6080的地址中,並使用配置的username password生成token去請求服務資源,並將ArcGIS Server的響應返回給客戶端。
由於上述內容是在web服務器中執行的,所以,具體ArcGIS Server服務的網址、以及用於生成token的用戶名、密碼等,對用戶端瀏覽器不可見,該方式可以實現隱藏ArcGIS Server服務器。