2010-07-30 4 views
0

WCF에서 가장 (impersonation)에 문제가 있습니다. 즉, ASP.NET 내에서 가장 (impersonation)을 켠 채 명명 된 파이프 서비스를 호출합니다. 이것은 실패합니다 (네트워크의 모든 사용자를 차단하는 파이프의 권한으로 인해). 그래서 가장 컨텍스트 외부에서 전화를 걸 수있는 방법이 있습니까? 이 전화를하기 위해 가장해야 할 필요는 없지만이를 수행 할 수있는 방법은 없습니다.가장 컨텍스트 외부에서 WCF 서비스를 호출 하시겠습니까?

누구나 아이디어가 있습니까?

감사 매트

PS. 설정을 통해 선언적으로이 작업을 수행해야합니다 ...

답변

0

나는 가장을 사용하지 않도록 설정해야하는 서비스가 아무도 사용하지 않는 IIS 끝점에 있었기 때문에 운이 좋았습니다./authorization 매개 변수를 web.config에 추가하여 익명 사용자에게 액세스 권한을 부여했습니다. 수정이 아니고 해결 방법입니다.

코드에서이 작업을 수행하려면 WindowsIdentity.Impersonate (IntPtr.Zero) 호출에서 클라이언트를 래핑하고 Win32 RevertToSelf를 호출하는 것과 분명히 같습니다. 이 컨텍스트가 삭제되면 어떤 일이 발생할지 모르겠다. (실행 취소는 원래 가장 된 사용자를 다시 사칭합니까? 아니면 되돌릴 수 있습니까?)

관련 문제