1

我有一个非常简单的 ASP.NET MVC 站点应用程序。(MVC 1.0)

我的 web.config 中没有授权部分,因为我在控制器上使用了 [Authoize] 属性。

正如预期的那样,服务器的默认 web.config 允许 * 进行表单身份验证。

我有 2 台现有的 Windows 2008 专用(托管)服务器。该网站运行良好。

我有一个新的专用服务器,除了该站点无法正常工作外,似乎相同。每个资源,甚至图像/javascript 都重定向到登录页面。

我尝试添加显式授权规则以允许 * 和 location 规则,结果相同。我检查了 .NET 信任级别,内部/完全信任。一切都在两台服务器上完美运行,只是这台忽略了所有授权规则。

有任何想法吗?谢谢

4

1 回答 1

0

我发现了问题 :) 除非在 Windows 2008 中发生了某些变化,否则我本来希望这会显示为错误,但如上所述,它被表单身份验证隐藏了。

问题是托管公司现在将数据驱动器添加到您的网站/存储的所有服务器。没有设置允许 IIS 读取文件的权限。我找不到它的原因是我已经为应用程序池用户添加了权限,就我而言,我只是继续添加 ASPNET、网络服务、IIS 匿名用户等以获得完全权限。

我需要让每个人都至少可以读取网站文件夹,然后 IIS 显示非安全内容。我仍然认为形成身份验证很奇怪。正在踢并忽略所有 web.config 规则,但无论如何。

我通过在 IIS 7 管理器中关闭 Forms Auth 支持发现了该错误。然后由于文件权限,我得到了进程失败错误。

于 2009-04-24T14:01:46.513 回答