Comment obtenir par programmation l'identité d'un pool d'applications en C #? Je veux que l'utilisateur du pool d'applications et PAS l'utilisateur actuellement connecté.
Vous pouvez utiliser System.Security.Principal.WindowsIdentity.GetCurrent().Name
pour identifier l'identité dans laquelle l'application actuelle s'exécute. Ce lien fournit un utilitaire Nice qui affiche l'identité sous laquelle l'aspx est exécuté.
Vous devez faire référence à Microsoft.Web.Administration (dans Microsoft.Web.Administration.dll). Microsoft.Web.Administration.dll se trouve dans 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;
}