ArcGIS JS 之通过代理配置ArcGIS Server服务 token
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服务器。