2013-06-21 2 views
0

이상한 요청이 있습니다. 응용 프로그램을 실행하는 사용자가 많아서 누가 응용 프로그램을 실행하는지 알 수 있어야합니다. 이것은 전혀 문제가되지 않으며이 정보를 잘 캡쳐하고 있습니다.응용 프로그램 내에서 다른 사용자로 응용 프로그램을 실행하는 방법

트릭은 응용 프로그램이 제한된 네트워크 공유에 액세스해야한다는 트릭입니다. 응용 프로그램을 실행하는 사용자 중 아무 것도 거기에서 아무 것도 할 수있는 권한이 없습니다. 그리고 거기에는 많은 것들이 있습니다 - 파일 읽기, 쓰기, 그리고 이것은 WPF 응용 프로그램이므로 제한된 영역에있는 파일 URI에 대한 데이터 바인딩입니다. 예를 들어 Image의 ImageSource를 설정하려면. 애플리케이션의 모든 다른 부분에서 해당 데이터에 제한없는 액세스가 필요합니다.

나는 WindowsIdentity.Imersonation에 대해 조사해 왔지만 작은 컨텍스트 범위에서 사용자를 가장 한 다음 가장 (impersonation)을 끝내는 것을 목표로하는 것으로 보입니다. 괜찮지 만 편리하지 않습니다.

내 앱을 시작한 다음 앱 범위 내에서 사용자를 가장하는 방법이 있습니까? 그래서 올바른 권한 세트로 모든 작업을 수행 할 수 있습니다.

+0

@jeremy 누가 주석 단축 구문이'[text] (url)' –

+0

@jeremy인지 알 수 있습니다. 이전에 필자가 WindowsIdentity에 대해 아는 곳을 읽었을 때, 살아있는 컨텍스트 측면의 내가 뭘 찾고 있지 않습니다. – Nicros

답변

0

올바른 방법 중 하나는 적합한 Active Directory 계정 권한을 사용하여 서버에 연결할 수있는 Windows 시스템에 사용자 시스템을 설정하는 것입니다. 응용 프로그램은 서버가 아닌 Windows 서비스와 직접 통신합니다. 이것이 말 그대로 당신이 원하는 것을 할 수도 있지만, 구현은 당신이 혼란에 신경 쓰는 것보다 더 복잡 할 수 있습니다.

+0

나는이 문제에 대해 생각했다. 요청에 따라 파일을 정리하기 위해 웹 서버에 갔을지라도, 나는 어느 경우 에든 너무 느릴 것이라고 생각했다. ( – Nicros