2011-03-02 3 views
1

서버에서 Windows 계정 및 그룹을 만들고 해당 계정에 대해 파일/폴더 권한을 설정하는 ASP.NET 응용 프로그램을 구축하고 있습니다.ASP.NET 계정에서 Windows 계정 만들기 및 파일 사용 권한 설정

어떻게하면됩니까?

나는 CACLS.exe에 대한 포격을 고려해 봤지만 결국에는 다른 문제로 옮겨 갈 것이라는 생각이 들었다. .NET 프레임 워크에 다른 옵션이 있습니까?

답변

1

은 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 호스팅 콘솔 응용 프로그램을 만들 수있는 코드입니다 그것은 그것은 System.DirectoryServices.AccountManagement Namespace 내가 찾는 것 같습니다. WCF 서비스 (감사, Shiv Kumar)에 멋지게 포장하고 내 앱에서 호출 할 것입니다.

2

내가 비슷한 것을 얻은 한 가지 방법. 여기에서 일부 작업이나 프로세스에는 관리자 권한이 필요하며 ASP.NET을 통해이 작업을 수행하려는 경우 WCF 서비스 응용 프로그램 (이상적으로 자체 호스팅 서비스)을 작성하고 관리자로 실행해야합니다.

ASP.NET 응용 프로그램에서 서비스의 메서드를 호출하면 작동합니다. 여기에 편집

내 WCF 서비스 클래스

+0

그건 아주 좋은 생각입니다. 하지만 CACLS는 계정을 만들고 권한을 설정하는 유일한 방법입니까? –

+0

@Jakob, 나는 거기에서 당신을 도울 수 없다, 나는 두려워한다. 나는이 기술을 여러 번 사용했습니다. 최근에는 IIS를 구성하는 명령 줄 도구 인 appcmd를 사용하여 일부 작업을 수행하지만 관리자 권한이 필요합니다. 이런 식으로하는 것이 매력처럼 작용했습니다. 셀프 호스팅 WCF 서비스 용 샘플 코드를 포함하도록 내 대답을 편집했습니다. –