1

我正在通过 Visual Studio 2012 启动的 iis express 上运行这个 MVC 4 站点。如果我将模拟更改为 false,它工作正常。有什么想法我可能做错了吗?

4

2 回答 2

1

当您想要在与 ASP.NET 应用程序的默认安全上下文不同的安全上下文下运行 ASP.NET 应用程序时,请使用 ASP.NET 模拟。

如果您为 ASP.NET 应用程序启用模拟,则该应用程序可以在两种不同的上下文之一中运行:作为通过 IIS 7 身份验证的用户或作为您设置的任意帐户。例如,如果您使用匿名身份验证并选择以经过身份验证的用户身份运行 ASP.NET 应用程序,则该应用程序将在为匿名用户设置的帐户(通常是 IUSR)下运行。同样,如果您选择在任意帐户下运行应用程序,它将在为该帐户设置的任何安全上下文下运行。

默认情况下,ASP.NET 模拟被禁用。如果启用模拟,您的 ASP.NET 应用程序将在通过 IIS 7 身份验证的用户的安全上下文中运行。

于 2012-12-27T10:33:56.163 回答
1

我不知道如何回答为什么该消息如此无用,但我可以说它似乎是开发 Web 主机(iis express)的产品,不在您尝试验证的用户的域中。

在我的示例中,我在通过 vpn 连接的家用计算机(未注册到域)上。将模拟设置为 false 并在 web.config 中启用 Windows 身份验证,它将正常工作。当您打开模拟时,它会给出无效消息。

如果您在从注册到域的机器(我在办公室的工作站)运行时打开了模拟,则它可以正常工作而不会出现错误消息。

希望这对其他人有帮助。

于 2012-12-28T14:40:49.943 回答