ASP.Net应用程序中的IIS 6 Windows身份validation失败

我正在尝试在IIS6networking服务器上安装ASP.Net应用程序。 该网站要求用户使用Windows进行身份validation,这可以在同一台服务器上的其他几个应用程序上运行。

在IIS中,我启用了匿名访问和Windows身份validation。

在web.config中,身份validation设置为:

<authentication mode="Windows"/> 

和授权…:

 <authorization> <allow roles="Users"/> <deny users="*"/> </authorization> 

IE浏览器。 允许angular色“用户”中的所有用户拒绝其他人。 这是与同一台服务器上的其他几个应用程序一起工作的方法。

如果我运行该网站,系统会提示input用户名和密码。

如果我删除该行:

  <deny users="*"/> 

我可以访问该网站,一切正常 – 但用户凭据不传递到网站(Page.User.Identity.Name在ASP.Net中返回一个空白string)。

该站点与服务器上的其他工作站点具有相同(inheritance)的文件权限。

这个网站和其他工作网站之间的authentication/授权的唯一区别是,它运行Asp.Net 4(但也有其他工作在服务器上的asp.net 4站点)。

我在这里错过了什么?

我应该在哪里看?

如果网站要求用户进行身份validation,那么您应该删除匿名访问,并只允许集成的窗口。 Page.User.Identity.Name返回一个空白,因为在集成的Windows上使用匿名身份validation。

如果这是一个域,那么允许angular色应该是域\安全组的forms。 “?” 在拒绝用户通常足以阻止匿名访问。

<identity impersonate="true" /> code <identity impersonate="true" />如果您的代码需要访问需要使用您的应用程序的用户进行身份validation的资源,可能会非常有用。

尝试使用“?” 而不是“拒绝用户”规则中的“*”。

或者尝试以下。 <deny users="*,?"/>