暂时模拟ASP.Net中的Windows身份验证用户

时间:2013-09-27 03:45:56

标签: asp.net windows authentication impersonation

我只是在阅读有关在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表单身份验证 感谢

1 个答案:

答案 0 :(得分: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 - In which Account By Default ASP.NET 4.0 Code Execute?

相关问题