2012-07-26 2 views
1

이 시나리오를 고려하십시오 파일 :가장을

나는 웹 사이트 호스트 IIS 7.0 뒤에 있습니다. 거의 모든 IIS 설정이 defaulr 설정입니다. ASP.Net 사용자가 it.currently IIS 관리자에게이 쓰기 권한을 취소 할 수있는 쓰기 권한이있는 파일을 업로드 할 폴더가 있고 Windows Server에 로컬 사용자를 추가하려고합니다.이 사용자는 해당 폴더에 대한 쓰기 권한이 있습니다. 이제 내 질문은 asp.net에서 사용자를 가장 할 수있는 방법이며이 방법이 안전하다면? 모든 요청을 기본 서버 IIS에 따라 서버에서 실행하고 싶지만 파일 업로드에 가장 적합합니다.

감사합니다.

답변

3

부분 위장이 ​​필요합니다. 모든 요청을 가장 할 필요는 없지만 몇 번의 호출 만 가장해야합니다. 나는 당신이이 기사를 봐야한다고 생각합니다.

http://support.microsoft.com/kb/306158

이 통화 나머지는 기본 응용 프로그램 풀 ID를

System.Security.Principal.WindowsImpersonationContext impersonationContext; 
impersonationContext = 
    ((System.Security.Principal.WindowsIdentity)User.Identity).Impersonate(); 

//Insert your code that runs under the security context of the authenticating user here. 

impersonationContext.Undo(); 
+0

감사를 사용하여 처리됩니다하면서 사용자의 자격 증명 로그인 코드 조각 아래를 가장하는 방법하지만 사용자 이름을 전송해야하는 위치이며 암호? 다른 사용자가 가장을 사용하고 싶습니다. 기사의 – Arian

+0

에는 "코드에서 특정 사용자로 가장하기"섹션이 있습니다. 이것을 사용하여 사용자 이름과 암호를 전달하여 가장 할 수 있으며 그런 다음 해당 가장을 실행 취소해야합니다. –

+0

'API' 호출을 사용하지 않는 방법이 있습니까? – Arian