Bir appPool kimliğini nasıl C# programında alabilirim? Uygulama havuzu kullanıcısını ve şu anda oturum açmış olan kullanıcıyı istemiyorum.Uygulama Havuz Kimliğini program aracılığıyla edinin
24
A
cevap
33
Geçerli uygulamanın çalıştığı kimliği tanımlamak için System.Security.Principal.WindowsIdentity.GetCurrent().Name
kullanabilirsiniz. This link, aspx'in çalıştırıldığı kimliği gösteren güzel bir yardımcı program sağlar.
2
Microsoft.Web.Administration'a (Microsoft.Web.Administration.dll) başvuru yapmalısınız. Microsoft.Web.Administration.dll, C: \ Windows \ System32 \ inetsrv konumunda bulunuyor. Ben ııs'deki AppPool kimliğini değiştirirseniz
//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;
}
System.Security.Principal.WindowsIdentity.GetCurrent olmamalıdır(). Adı değiştirilen değeri elde? – p0enkie
Zorluk çeken biri için sorun yok, bu AppPool'u (kullanıcı kimliği) başlatan kullanıcı adını almak için kullandığım kod: ApplicationPool pool = serverManager.ApplicationPools ["YoutAppPoolName"]; pool.ProcessModel.IdentityType = ProcessModelIdentityType.SpecificUser; string user = pool.ProcessModel.UserName; – p0enkie
@ p0enkie 'serverManager' nedir? – Kiquenet