0

我只是在阅读有关在 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 表单身份验证对资源进行不同的安全访问谢谢

4

1 回答 1

4

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

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

以下是一些不错的链接,您可以通过这些链接了解 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 -默认情况下在哪个帐户中执行 ASP.NET 4.0 代码?

于 2013-09-27T04:13:52.680 回答