首页 > 代码库 > Client tried to access password protected page without proper authorization (status code 401) 无法发布SceneService的解决方法

Client tried to access password protected page without proper authorization (status code 401) 无法发布SceneService的解决方法

 

前不久,一客户反映原来已经部署好的WebGIS系统忽然无法正常运行了,具体配置如下:

Portal for ArcGIS 10.5

ArcGIS Server 10.5

Web Adpator 10.5

Data Store 10.5

表现出现的症状就是托管的要素服务可以正常发布,但是三维服务SceneService发布不成功。查看ArcGIS Server的日志,提示如下错误信息:

技术分享

Client tried to acces password protected page without proper authorization (status code 401) 这个错误其实是ArcGIS Server底层的ArcObject类库中预定义的错误消息 MESSAGESUPPORT_E_UNAUTHORIZED,可以参考以下链接:

https://desktop.arcgis.com/en/arcobjects/latest/net/webframe.htm#messageSupportError.htm

初步判断这个错误有可能是DataStore无法认证登录的问题,但通过了Server的REST管理页面验证了一下DataStore,发现状态是正常的。

Server用于验证DataStore的REST URL路径类似如下:

https://www.seanpc.com/ags/admin/data/items/nosqlDatabases/AGSDataStore_nosqldb_tcs_m3p2m8vg/machines/LUWLESRIPC.MSHOME.NET/validate

返回的结果类似如下:

技术分享

再次推测问题可能和操作系统的文件系统权限有关,询问了一下客户,原来客户在系统出问题之前做了一个重置ArcGIS Server运行账户密码的操作。客户是直接通过Windows的管理页面做账户密码重置操作的。

技术分享

于是重新设置了ArcGIS Server安装目录以及系统数据目录的权限。

技术分享

技术分享

重置后,重启ArcGIS Server,再次发布三维服务SceneService,系统恢复正常了。建议客户如果在知道原账户密码的前提下需要重置密码,必须通过Windows的控制面板账户管理来重置密码。假如是通过Windows的管理页面做账户密码重置操作的,需要重新设置相关的ArcGIS Server文件目录账户权限。因为按照微软的说法:

If an administrator resets your password, you might lose access to some of your files.

 

Client tried to access password protected page without proper authorization (status code 401) 无法发布SceneService的解决方法