客户端无法匿名访问位于win2000域控制器上的IIS
客户端无法匿名访问位于win2000域控制器上的IIS这两天在公司的win2000 域控制器上安装了一个IIS5,客户端无法通过匿名访问,必须要输入用户名和密码才可以访问,网站的匿名访问已经启用。但是
客户端无法匿名访问位于win2000域控制器上的IIS
这两天在公司的win2000 域控制器上安装了一个IIS5,客户端无法通过匿名访问,必须要输入用户名和密码才可以访问,网站的匿名访问已经
启用。但是这个网站如果放在一台单独的服务器上客户端就可以匿名访问,由此断定应该是win2000如果作为域控制器的问题,有可能对IIS的
策略产生了变化。
在微软网站上找到了如下内容:
IIS 身份验证
许多分布式应用程序的重要部分是标识某个人(称为主体或客户端)并控制客户端对资源的访问能力。身份验证是验证客户端身份的行为。一
般情况下,客户端必须提供某些证据,一般称为凭据,来证明其身份。通常,凭据包括用户名和密码对。Internet 信息服务 (IIS) 和
ASP.NET 都提供几种身份验证方案。
IIS 提供多种身份验证方案:
1.匿名(默认情况下启用)
2.基本
3.摘要式
3.集成 Windows 身份验证(默认情况下启用)
5.客户证书映射
无论选择哪个方法,在验证客户端身份后,IIS 都会将安全标记传递给 ASP.NET。如果将 ASP.NET 配置为使用 Windows 身份验证并启用模拟
,ASP.NET 将模拟此安全标记代表的用户。
匿名
匿名身份验证可使用户访问 Web 站点的公共区域,不提示用户输入用户名和密码。尽管作为身份验证方案列出,但因为不要求客户端提供任何
凭据,所以它并不进行任何技术性的客户端身份验证。相反,IIS 使用特定用户帐户 (IUSR_machinename) 将存储好的凭据提供给 Windows。
默认情况下,IIS 控制此帐户的密码。IIS 是否控制该密码会影响匿名用户的权限。当 IIS 控制该密码时,子身份验证 DLL (iissuba.dll)
使用网络登录验证用户身份。此 DLL 的功能是验证 IIS 提供的密码并通知 Windows 该密码有效,于是验证该客户端。然而,它并不真的向
Windows 提供密码。当 IIS 不控制密码时,IIS 调用 Windows 中的 LogonUser() API 并提供帐户名、密码和域名,以使用本地登录进行登录
。登录后,IIS 缓存安全标记并模拟该帐户。本地登录可使匿名用户访问网络资源,而网络登录不可以。
当启用匿名身份验证时,IIS 不使用其他任何身份验证方案,除非 NTFS 权限拒绝访问资源。
优点
提供最佳性能,这是因为匿名身份验证不需要任何系统开销。
不需要管理个人用户帐户。
如果 IIS 不控制密码,可以访问网络资源。
缺点
不能逐个对客户端进行身份验证。
如果 IIS 不控制密码,帐户必须有本地登录能力。
以上这段话对IIS的匿名访问做了说明,但是对解决目前的问题帮助不大,在其英文网站发现这么一段话,http://www.microsoft.com/windows2000/en/server/iis/defaul