0

行。我有一个访问 WCF 程序的 MVC2 应用程序,并使用该信息来填充其模型等等。我不确定我需要做的一切吗?我的客户端应用程序(MVC2 应用程序)和服务器应用程序(WCF 服务)中有模拟代码。在我的 IIS 7 设置中(在 Windows Server 2008 上)我禁用了匿名身份验证、启用了 ASP.net 模拟并启用了 Windows 身份验证。我将流程模型池标识设置为 ApplicationPoolIdentity。我认为应该这样做。但是,我不断收到错误消息,告诉我用户 ID 没有通过。我想,我想知道你需要什么才能让那种应用程序工作?

4

1 回答 1

2

对于您的 MVC 应用程序,请确保您的 Web 配置包含以下内容

<authentication mode="Windows" />
    <authorization>
    <deny users="?" />
</authorization>

另请注意,IIS 在网站的每个树节点上都有身份验证选项,因此,例如,如果您使用默认网站并将您的应用程序放在此节点下,则顶级节点和站点节点之间的身份验证选项可能会有所不同。对于我的网站,我为默认网站节点关闭了所有身份验证方法,然后我仅在应用程序级别节点上使用 Windows 身份验证。确保在所有节点上关闭匿名,否则 httpcontext.current.user 对象将为空,在我们的例子中导致我们的应用程序崩溃。

切换身份验证模式确实会继承,因此在调整父节点时要小心,因为您可能会意外更改子节点的设置。

于 2011-08-15T14:06:04.240 回答