ArcGIS JS API:令牌和安全资源

时间:2018-03-27 13:40:58

标签: php html api arcgis

我通过这种方式使用PHP代码获取我的令牌:

1- POST请求https://gis.server.com/portal/sharing/generateToken

2-参数:f = json,username = ,password = ,client = ip,ip = ***,expiration = 60

JSON格式3-服务器响应的新的令牌来访问安全的资源,例如:tAGEfjIY7Risc2hFNgqXpvkdHbr1ObiFNlVL9ag2kO9gBoDDsUoSiMjbwjvJZfWjD36gLpqIiBNpGu7yPPPn1lAM-uGZTpDOEMPCxpZFHmlLq_noTXb - 1fSjFo1cGC9z0hcgKiMrwvseMvyLbpDMQ ..

在我的地图中的javascript代码中,我实现了功能层的安全资源调用:

fLayer = new FeatureLayer({ 令牌:" tAGEfjIY7Risc2hFNgqXpvkdHbr1ObiFNlVL9ag2kO9gBoDDsUoSiMjbwjvJZfWjD36gLpqIiBNpGu7yPPPn1lAM-uGZTpDOEMPCxpZFHmlLq_noTXb - 1fSjFo1cGC9z0hcgKiMrwvseMvyLbpDMQ ..&#34 ;, url:" https://gis.server.com/arcgis/rest/services/BASE/MapServer"
      });

问题是当我加载地图时,arcgis api向我显示一个登录对话框来加载资源并忽略我的令牌,这个代码的想法是不显示登录对话框,在api文件中该类&#34 ; FeatureLayer"有一个名为" token"的参数(字符串)我在代码中使用此参数但不起作用。

1 个答案:

答案 0 :(得分:0)

正确的代码是:

IdentityManager.registerToken({
    server: 'https://gis.server.com/arcgis/rest/services',
    token: '<token>'
});

fLayer = new FeatureLayer({
    url: "https://gis.server.com/arcgis/rest/services/BASE/Map/25"        
});