2012-04-11 29 views

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.

+0

System.Security.Principal.WindowsIdentity.GetCurrent olmamalıdır(). Adı değiştirilen değeri elde? – p0enkie

+6

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

+1

@ p0enkie 'serverManager' nedir? – Kiquenet

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;    
}