我通过这种方式使用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"的参数(字符串)我在代码中使用此参数但不起作用。
答案 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"
});