Asp.net mvc 3 使用Windows身份验证的IIS 7.5和MVC 3-获取401以获取静态内容,但从不提示输入凭据

Asp.net mvc 3 使用Windows身份验证的IIS 7.5和MVC 3-获取401以获取静态内容,但从不提示输入凭据,asp.net-mvc-3,model-view-controller,iis,iis-7,iis-7.5,Asp.net Mvc 3,Model View Controller,Iis,Iis 7,Iis 7.5,我有一个MVC 3站点运行在服务器2008R2和IIS 7.5上。我想知道为什么(使用fiddler),我总是在静态内容上得到401个响应,然后是302或200?这是我需要关心的事情吗?我可以在浏览器中直接导航到提供401的内容,并且浏览器显示该内容而不提示输入凭据 如果我对失败的请求进行跟踪,我会将其作为输出: ModuleName UrlAuthorization Notification 4 HttpStatus 401 HttpReason Unauthorized HttpSu

我有一个MVC 3站点运行在服务器2008R2和IIS 7.5上。我想知道为什么(使用fiddler),我总是在静态内容上得到401个响应,然后是302或200?这是我需要关心的事情吗?我可以在浏览器中直接导航到提供401的内容,并且浏览器显示该内容而不提示输入凭据

如果我对失败的请求进行跟踪,我会将其作为输出:

ModuleName UrlAuthorization 
Notification 4 
HttpStatus 401 
HttpReason Unauthorized 
HttpSubStatus 0 
ErrorCode 0 
ConfigExceptionInfo  
Notification AUTHORIZE_REQUEST 
ErrorCode The operation completed successfully. (0x0) 
我已经检查了所有目录和文件,它们拥有应用程序池用户(域用户)作为拥有完全权限的所有者

正如我所说,我的网站没有被破坏,但我想知道我的设置是否有问题

提前谢谢


编辑:这里是Fiddler的一个示例:

您的内容文件夹中是否有一个web.config,或者在根web.config或其上的任何应用程序中是否为内容文件夹设置了任何身份验证规则,这可能会导致web配置继承问题?

在IIS 7.5/Windows中将一个简单的MVC3应用程序部署到默认web路径在Vis2k10的web服务器中正常工作的2008R2。未经验证访问站点,尽管我在特定模块上使用[authorize],但保留了global.asax.cs中的默认代码,并且没有做太多修改。如有任何建议,将不胜感激

在没有运气的情况下,尝试仅启用匿名以及匿名plus表单身份验证

添加到web.config但未成功:

<location path="Content">              
  <system.web>              
    <authorization>              
    <allow users="*" />              
  </authorization>              
  </system.web>              
</location> 
<modules>  
  <remove name="UrlRoutingModule-4.0" />  
    <add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" preCondition="" />  
</modules>

尝试更新模块但未成功:

<location path="Content">              
  <system.web>              
    <authorization>              
    <allow users="*" />              
  </authorization>              
  </system.web>              
</location> 
<modules>  
  <remove name="UrlRoutingModule-4.0" />  
    <add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" preCondition="" />  
</modules>


已验证具有文件系统访问权限的IIS权限。一旦登录,系统就会像冠军一样工作。

好的。。。我以一种奇怪的方式解决了这个问题。在IIS 7.5中,可以设置访问文件系统的物理路径时使用的凭据。默认情况下,它使用“通过”选项。。。不知何故,即使IUSR可以访问文件系统,这似乎也不起作用。我创建了一个基本用户帐户,允许他们在文件系统上读取,然后在IIS->my website[右键单击]->“管理网站”->“高级设置”下更新物理路径凭据


奇怪的是,同一台服务器上的Orchard、sharepoint、tfs和SSRS网站没有这个问题。。。只是我的MVC3应用程序从wwwroot运行

嗯,我也试过这个,但它对我不起作用,仍然得到同样的结果。不过,我确实使用了应用程序池用户,并检查了它是否对所有目录和文件拥有完全权限。我甚至让它成为所有物品的主人。谢谢