remarks - see cref c#
Obtenga la identidad del grupo de aplicaciones programáticamente (2)
¿Cómo obtengo la identidad de una appPool programáticamente en C #? Quiero el usuario del grupo de aplicaciones y NO el usuario que está actualmente conectado.
Debe hacer una referencia a Microsoft.Web.Administration (en Microsoft.Web.Administration.dll). Microsoft.Web.Administration.dll se encuentra en C: / Windows / System32 / inetsrv.
//Add this to your using statements:
using Microsoft.Web.Administration;
//You can get the App Pool identity like this:
public string GetAppPoolIdentity(string appPoolName)
{
var serverManager = new ServerManager();
ApplicationPool appPool = serverManager.ApplicationPools[appPoolName];
appPool.ProcessModel.IdentityType = ProcessModelIdentityType.SpecificUser;
return appPool.ProcessModel.UserName;
}
Puede usar System.Security.Principal.WindowsIdentity.GetCurrent().Name
para identificar la identidad en la que se ejecuta la aplicación actual. Este enlace proporciona una buena utilidad que muestra la identidad bajo la cual se ejecuta el aspx.