我正在構建一個ASP.NET應用程序,它將在服務器上創建Windows帳戶和組,併爲這些帳戶設置文件/文件夾權限。從ASP.NET站點創建Windows帳戶和設置文件權限
我該如何做到這一點?
我已經考慮過對CACLS.exe進行脫殼了,但我感覺最終會讓我陷入其他問題。 .NET框架中是否還有其他選項?
我正在構建一個ASP.NET應用程序,它將在服務器上創建Windows帳戶和組,併爲這些帳戶設置文件/文件夾權限。從ASP.NET站點創建Windows帳戶和設置文件權限
我該如何做到這一點?
我已經考慮過對CACLS.exe進行脫殼了,但我感覺最終會讓我陷入其他問題。 .NET框架中是否還有其他選項?
它好像是我要找的System.DirectoryServices.AccountManagement Namespace。我打算在WCF服務中很好地包裝它(謝謝,Shiv Kumar),並從我的應用程序中調用它。
我已經實現了類似的一種方法。這就是某些操作或進程需要管理權限的地方,而你正在嘗試通過ASP.NET來做到這一點,就是構建一個WCF服務應用程序(理想情況下是一個自託管服務)並使其以管理員身份運行。
然後從ASP.NET應用程序中調用服務中的方法並且它可以工作。
編輯
這裏是使一個控制檯應用程序中的WCF自託管應用
class Program
{
static void Main(string[] args)
{
var webServiceHhost = new WebServiceHost(typeof(AppCmdService), new Uri("http://localhost:7654"));
ServiceEndpoint ep = webServiceHhost.AddServiceEndpoint(typeof(AppCmdService), new WebHttpBinding(), "");
var serviceDebugBehavior = webServiceHhost.Description.Behaviors.Find<ServiceDebugBehavior>();
serviceDebugBehavior.HttpHelpPageEnabled = false;
webServiceHhost.Open();
Console.WriteLine("Service is running");
Console.WriteLine("Press enter to quit ");
Console.ReadLine();
webServiceHhost.Close();
}
}
在上面的代碼中列出該類AppCmdService
代碼是我的WCF服務類
這是一個非常好的主意,我肯定會跟那個一起去的。但是,CACLS是我創建賬戶和設置權限的唯一選擇嗎? – 2011-03-02 06:51:28
@Jakob,恐怕我無法幫到你。我已經使用過這種技術很多次了。最近要使用appcmd執行一些操作,這是用於配置IIS的命令行工具,但它需要管理權限。這樣做就像魅力一樣。我編輯了我的答案,以包含自託管的WCF服務的一些示例代碼 – 2011-03-02 07:00:02