板,选择“目录安全”进行“编辑”,此时,如果“匿名访问”前没有勾选,选择勾 选,“确定”就能解决这个问题。 此时访问 “127.0.0.1+虚拟目录的” 第二种已经解决 不过这个
问题,遇到的人比较少,并且就这样简简单单的勾选了还不算回事,再往下看。 此时单独测试 127.0.0.1 虽然也没有了要求密码输入对话框,但新的问题出现了,同样,此 刻输入 localhost 同样的是如此的错误,这也就是很多人反馈的: 错误类型: Microsoft VBScript 运行时错误 (0x800A0046) 没有权限: 39;GetObject 39; /localstart.asp, 第 40 行 那么现在就先停在这,分析下原因 开始没有“匿名访问”,需要提供帐户密码;现在有了“匿名访问”,则出现了错误。注意!这 是针对直接 127.0.0.1 访问而言的。 那么“匿名访问”就是提供的帐户和密码,才使得“127.0.0.1+虚拟目录”的问题得到解决,当 然也解决了直接“127.0.0.1”访问的部分问题(不需要帐号密码了) 说明这个“匿名帐户”是有用的。 但现在要解决这个新出来的问题:Microsoft
VBScript 运行时错误 (0x800A0046) 没有权限: 39;GetObject 39; 通常被提供的方法是:单独对“iisstart.asp”和“localstart.asp”取消“匿名访问” 等等,再好好看,我没有打错字 要解决“(0x800A0046) 没有权限: 39;GetObject 39;”的方案是“单独”对这两个文件进行取消 “匿名访问” 具体操作流程:在 IIS 中选择“localstart.asp”文件,右键,弹出菜单选择“属性”,打开面板, 选择“文件安全性”进行“编辑”,取消“匿名访问”访问前的选择。 同样的操作流程对“iisstart.asp”再进行一般。 那么现在“localhost”已经能访问, 解决了 Microsoft VBScript 运行时错误 (0x800A0046) 没有权限: 39;GetObject 3
9;的问题。
到此,再来分析下: 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) 没有权限”,这似乎有点关系。 那么,我最终的比较完美的
方案则是,全部采用“匿名访问”,确保所有的页面都能访问而没 有密码输入框,同时,将“匿名访问”的帐户替换掉,不使用“IUSR_计算机名”帐户,而是使 用我的 XP 管理员登录帐号。 于是重头继续调整,打开 IIS,在“默认站点”上右键,弹出菜单选择“属性”,打开面板,选 择“目录安全”进行: 1、“编辑” 2、“浏览”用户 3、“高级” 4、“
查询”用户 5、“选择”本机 XP 登录用户名 6、“确定”,一直“确定”到最后 另 外 , 在 更 新 的 时 候 有 一 点 很 重 要 , 就 是 要 选 择 “ 继 承 覆 盖 ” 两 个 文 件 “iisstart.asp” 和 “localstart.asp”, 否则就需要单独把这两个文件的“匿名访问”重新加上, 加上的帐号为刚才设 置的 XP 登录帐号。