错误类型:
Microsoft VBScript 运行时错误 (0x800A0046)
没有权限: 'GetObject'
/localstart.asp, 第 40 行
那么现在就先停在这,分析下原因
开始没有“匿名访问”,需要提供帐户密码;现在有了“匿名访问”,则出现了错误。注意!这是针对直接 127.0.0.1 访问而言的。
那么“匿名访问”就是提供的帐户和密码,才使得“127.0.0.1+虚拟目录”的问题得到解决,当然也解决了直接“127.0.0.1”访问的部分问题(不需要帐号密码了)
说明这个“匿名帐户”是有用的。
但现在要解决这个新出来的问题:Microsoft VBScript 运行时错误 (0x800A0046) 没有权限: 'GetObject'
通常被提供的方法是:单独对“iisstart.asp”和“localstart.asp”取消“匿名访问”
等等,再好好看,我没有打错字
要解决“(0x800A0046) 没有权限: 'GetObject'”的方案是“单独”对这两个文件进行取消“匿名访问”
具体操作流程:在IIS中选择“localstart.asp”文件,右键,弹出菜单选择“属性”,打开面板,选择“文件安全性”进行“编辑”,取消“匿名访问”访问前的选择。
同样的操作流程对“iisstart.asp”再进行一般。
那么现在“http://localhost ”已经能访问,解决了Microsoft VBScript 运行时错误 (0x800A0046) 没有权限: 'GetObject'的问题。
到此,再来分析下:
1,要使得127.0.0.1能访问必须要设置“匿名访问”
2,要使得“iisstart.asp”和“localstart.asp”能正常访问,必要要单独设置取消“匿名访问”
经过了如上设置后,localhost,localhost+虚拟目录,127.0.0.1+虚拟目录都能正常访问,就剩下单独的 127.0.0.1 访问的情况,以上的分析似乎又是相矛盾的
那么,再来看看这“匿名访问”到底是个什么?
用户名是“BLUECOM\IUSR_BLUECOM”,密码是IIS控制的。其中“BLUECOM”是我这台机器的“计算机名”,各人是不同的。那么“IUSR_BLUECOM”就是“IUSR_计算机名”了。
这个“IUSR_计算机名”又是什么?它是一个“Internet来宾帐户”,是“匿名访问IIS的内置的帐户”,他是属于“Guests”组的
这就又回到当使用该帐户时,localhost会显示“(0x800A0046) 没有权限”,这似乎有点关系。