401 - 在 Server 2008 R2 IIS 7.5 上未经授权

mxm*_*ile 20 iis-7.5 windows-server-2008-r2

我有一个部署到 Server 2008 IIS 7.5 框的 Web 应用程序。

从远程它给出了这个错误:401 - Unauthorized: Access is denied due to invalid credentials。(远程 = 同一局域网上的桌面)

尝试了几个使用不同浏览器的远程客户端,结果都一样。(IE、FF 和 Chrome)

服务器本身桌面点击应用程序可以完美地工作。但是我还没有在服务器桌面上尝试过 Firebug。我认为它仍然会发出 401 状态代码,但无论如何都会返回内容。请参阅更新 #2。

该应用程序正在使用匿名身份验证。

该应用程序是使用 MVC 框架在 .NET 4.0 Asp.Net 中编写的。

静态内容工作正常,例如:http : //server.com/content/image.jpg

Sysinternalsprocmon为每个请求返回这 2 个结果:FAST IO DISALLOWED 和 PATH NOT FOUND。

我有 2 个其他 MVC 应用程序在同一台服务器上运行良好。我检查了文件夹的安全性,它们都匹配。

应用程序在 Server 2008 IIS 7.0 机器上运行良好。

服务器上的事件日志中没有显示与此相关的任何内容。

在这里拉我的头发,有什么故障排除技巧吗?

更新 #1:当我挖掘时,这只会得到更多的 WTF。

如果我单击 IIS Manager -> Error Pages -> Edit Feature Settings selectDetailed Errors中的应用程序,该应用程序将远程工作。没有留下这个,所以问题还没有解决,只是更令人困惑。

更新 #2:使用 Firebug,我看到 Status 仍然是401 Unauthorized,但 Response 正在返回应用程序的正确 HTML。

更新 #3使用失败的请求跟踪,这是导致 401 的警告请求跟踪:

ModuleName ManagedPipelineHandler
Notification 128
HttpStatus 401 
HttpReason Unauthorized 
HttpSubStatus 0 
ErrorCode 0 
ConfigExceptionInfo  
Notification EXECUTE_REQUEST_HANDLER 
ErrorCode The operation completed successfully. (0x0)
Run Code Online (Sandbox Code Playgroud)

更新 #4常规 IIS 日志显示:

#Software: Microsoft Internet Information Services 7.5
#Version: 1.0
#Date: 2010-07-20 19:17:22
#Fields: date time s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) sc-status sc-substatus sc-win32-status time-taken
2010-07-20 19:17:22 10.10.1.10 GET /Purchasing/Home - 80 - 10.10.1.12 Mozilla/5.0+(Windows;+U;+Windows+NT+6.1;+en-US;+rv:1.9.2.6)+Gecko/20100625+Firefox/3.6.6 401 0 0 4414
Run Code Online (Sandbox Code Playgroud)

mxm*_*ile 19

有时你不得不退后一步......造成这种情况的原因是Html.RenderAction()我认为我有一个调用带有[Authorize]属性标记的操作方法。