【问题标题】:Temporarily impersonate the Windows authenticated user in ASP.Net在 ASP.Net 中临时模拟 Windows 认证用户
【发布时间】:2013-10-03 06:07:09
【问题描述】:

我正在阅读有关在 ASP.Net 中临时模拟用户的信息

http://msdn.microsoft.com/en-us/library/ff647405.aspx

为了实现这一点,使用了以下代码。

// 临时冒充原用户。

WindowsImpersonationContext wic = wi.Impersonate();
try
{
  // Access resources while impersonating.
}
catch
{
  // Prevent exceptions propagating.
}
finally
{
  // Revert impersonation.
  wic.Undo();
}

我正在使用 Windows Server 2008 并且有一个应用程序池,只是想确认,当我默认不使用上述代码进行模拟时,该服务将使用我为应用程序池设置的身份。

问题是我想要对资源进行不同的安全访问,具体取决于用户是通过 Windows 应用程序登录还是使用 ASP.Net 表单身份验证 谢谢

【问题讨论】:

    标签: asp.net windows authentication impersonation


    【解决方案1】:

    据我所知,这是正确的。如果您不冒充调用用户,则默认情况下它应该以应用程序池中的默认身份运行。

    ================================================ ==================================

    以下是一些不错的链接,您可以通过这些链接了解 iis 用户

    总结:

    • IIS 5.1 (Windows XP) - 这是一个本地 ASPNET 帐户
    • IIS 6 - 默认情况下,应用程序池在 IIS_WPG 组成员的网络服务帐户下运行
    • IIS 7.0 - 仍然是网络服务
    • IIS 7 SP2 / 7.5 - 在名为 ApplicationPoolIdentity 的短暂事物下运行,该事物映射到帐户 IIS APPPOOL\ApplicationPool(例如 IIS APPPOOL\DefaultAppPool)。此帐户是 IIS_IUSRS 用户组的成员

    信息来源:-

    用户 ASP.NET 运行在 IIS/ASP.NET 的所有用户帐户是什么?它们有何不同?

    http://www.bluevisionsoftware.com/WebSite/TipsAndTricksDetails.aspx?Name=AspNetAccount

    http://www.iis.net/learn/get-started/planning-for-security/understanding-built-in-user-and-group-accounts-in-iis

    http://imar.spaanjaars.com/287/how-do-i-determine-the-security-account-that-iis-uses-to-run-my-web-site

    来源:Shekhar - In which Account By Default ASP.NET 4.0 Code Execute?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-10
      • 1970-01-01
      相关资源
      最近更新 更多