从ASP.NET站点创建Windows帐户并设置文件权限

时间:2011-03-02 05:12:10

标签: c# asp.net .net file-permissions

我正在构建一个ASP.NET应用程序,它将在服务器上创建Windows帐户和组,并为这些帐户设置文件/文件夹权限。

我如何做到这一点?

我考虑过炮轰CACLS.exe,但我觉得这最终会让我陷入其他问题。 .NET框架中还有其他选项吗?

2 个答案:

答案 0 :(得分:2)

我取得类似成就的一种方式。这是某些操作或进程需要管理权限的地方,而您尝试通过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服务类

答案 1 :(得分:1)

似乎是我正在寻找的System.DirectoryServices.AccountManagement Namespace。我将在WCF服务中很好地包装它(谢谢,Shiv Kumar)并从我的应用程序调用它。