繁体   English   中英

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

[英]Temporarily impersonate the Windows authenticated user in ASP.Net

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

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

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

以下是一些不错的链接,您可以通过这些链接来了解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代码?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM