为了继续使用身份模拟 = true,设置validateIntegratedModeConfiguration = false 是否安全?

为了继续使用身份模拟 = true,设置validateIntegratedModeConfiguration = false 是否安全?

我们已将 ASP.NET Web 应用程序从 IIS6 升级到 IIS7 集成模式。我们的应用程序使用:

<identity impersonate="true"/>

因此我们必须设置:

<validation validateIntegratedModeConfiguration="false" />

这合理吗?我的直觉告诉我不合理,但在 Google 上搜索此问题时,访问的每个页面都建议使用此“解决方法”。

在 IIS7 集成中,模拟不再是一种好的做法吗?我们是否应该放弃它并提出其他解决方案?

答案1

如果您的应用程序需要在 BeginRequest 和 AuthenticateRequest 中集成身份验证,那么您应该将应用程序池更改为经典模式。

如果您在页面生命周期的这两个阶段不依赖集成身份验证,那么您可以通过将validateIntegratedModeConfiguration 设置为false来继续忽略收到的错误。

您还可以选择使用appcmd 迁移将您的 IIS6 应用程序移至 IIS7 集成模式配置。

有关 IIS 7 中此行为的更多信息,请参见此处: http://www.iis.net/learn/application-frameworks/building-and-running-aspnet-applications/aspnet-integration-with-iis

相关内容