打开Insights for ArcGIS登录报无权限访问

来源:互联网 发布:淘宝首页显示不全 编辑:程序博客网 时间:2024/05/29 13:03

背景

    第一次试用Insights for ArcGIS 2.1版本,出师不利,打开Insights时就提示【您无权访问Insights for ArcGIS】,如下图所示:

    问了下周围的同事都说没有遇到过。检查了下,Insights已经授权:

    

    同时,也已经将授权授予给登录用户:

    

    这可就有点欺负人了!

问题定位

    没办法,还得自己动手找出原因解决掉。从提示来看是【您无权访问Insights for ArcGIS】,这个权限除了许可之外,是不是还有其他的验证的可能?顺着这个思路,监测下http请求是比较好的方法。所以就用fiddler2监测打开Insights for ArcGIS时的方法地址。

    当打开Insights for ArcGIS时会提示申请权限,点击【同意】就会跳转到首页:

    对这个http请求监测发现了一个端倪:

在对URL:

/arcgis/sharing/rest/content/listings/f761dd0f298944dcab22d1e888c60293/userLicenses?f=json&nonce=abc&timestamp=1508467562561&token=XQye81_F4hKsiJ6bnxORo0o2aD6ojopsVCiSkrH58tadg7EmZ0B8wb_zXbLpkDJbgyaCW-t9OdCDZDI6ZjbkWwJuriv5ce1ikeg9Z1i9ajP93ApRgwpd5I7Lf0MO326fiIZiBlFN8YwBPgZwMyV5eddD9ccPg4N7-2XEaCVrQCJlwJAfy_idWBLjCbdQvq4j

进行请求或许许可的时候返回的结果是:

{"error":{"code":400,"message":"timestamp invalid","details":[]}}

按字面的理解是时间戳无效。我们知道ArcGIS的资源验证是通过Token的方式进行的,在生成Token的过程中会把时间戳给带上。timestamp=1508467562561的时间是:

同时Token的短期时效默认是60分钟,这个时间戳既然从客户端传送给服务器,那么Portal在验证Token的时候同时也会对这个时间戳进行验证,那是不是可能在验证的环节出了问题呢?而且,既然是跟时间有关,是不是服务器的时间跟客户端的时间不一致导致的?

    在对服务器的时间进行确认后,发现服务器的时间为18点30分,而客户端的时间是10点46分,两者的时间不一致,服务器的时间早走了10个小时左右。

解决方法

    既然是客户端和服务器端时间不同步,就改下时间就好了。修改好时间之后,再访问Insights for ArcGIS就正常了:

    所以在安装部署软件的时候,首先检查时间是否同步是非常重要的环节!

原创粉丝点击