在服务器上发布了两个系统,一个可以正常使用,一个提示没有权限,但页面正常打开只是 Infragistics 下的一个控件 UltraWebNavigator 没法使用,并且偶尔会弹出如下对话框。
---------------------------
Windows Internet Explorer
---------------------------
UltraWebNavigator Trial Version. Copyright 2002-2004, Infragistics, Inc. All rights reserved.
---------------------------
确定
---------------------------
在C:\Inetpub\wwwroot\aspnet_client\infragistics下搜索js,没有发现如上Trial Version字样,估计是在Page类中发出的。
换了个角度,尝试上服务器重新安装UltraWebNavigator注册版,对话框不再弹出了。但依然会提示需要输入服务器的用户名和密码。
逐个检查网站涉及到的虚拟目录,发现都勾选了IIS的集成Windows身份验证和允许匿名登陆。
经过一次一次刷新浏览器,发现页面已经解析出Title后才提示要求输入服务器的用户名和密码,为了获得更精确的结论,请出了httpwatch,发现在服务器请求ig_common下的一个js文件时,服务器才会提示。
终于明白了,是infragistics的虚拟目录ig_common出了问题。尝试将7个主要用户和角色赋上全部权限,依然没能解决问题。
后来将infragistics目录复制出一份,更名为ig_common,没有设置任何权限,发现外部不再提示要求输入服务器的用户名和密码了。
在这个问题的解决中,中途求助了第三方,但第三方可能不清楚细节,也没有找到问题关键。
还是依靠对问题出现的现象细节判断,才想到了观测和解决办法,以后要多培养自己这种解决问题的嗅觉。