2012-02-16 2 views
1

인트라넷 환경에서 CALLER의 사용자 ID를 검색 할 수있는 C# 3.0 웹 서비스를 만들어야합니다. 나는 아마도 발신자 프로그램에서 정보를 전달할 수 있지만 내 경우에는 실현 가능하지 않다는 것을 알고 있습니다. 웹 서비스는 Windows 응용 프로그램 (Infopath 2003에서 정확하게 사용)에 의해 소비 될 것입니다.이 상황에서는 내 Windows 응용 프로그램에서 userid를 검색하는 것이 실용적이지 않습니다.C# 웹 서비스에서 현재 사용자 ID 검색

달성 가능합니까? IIS (Windows 2003 표준 서버에서 호스팅 됨)는 Windows 인증을 사용합니다. WindowsIdentity를 사용하여 몇 가지를 시도했지만 localhost에서만 작동합니다.

+1

"C# 웹 서비스"와 같은 것은 없습니다. ASMX 서비스 또는 WCF 서비스를 의미합니까? –

답변

0

시도해 보셨습니까? HttpContext.Current.User.Identity.Name

+0

감사 드리며 결과를 알려 드리겠습니다. – WML

+0

안녕 나는 그것을 사용하지만 유명한 오류 메시지를 반환합니다 : HTTP 요청은 클라이언트 인증 체계 '익명'권한이 없습니다. 서버에서받은 인증 헤더는 'NTLM'입니다 ... – WML

+0

Thread.CurrentPrincipal도 시도했지만 공백을 반환합니다 ... 여기 뭔가 근본적인 것이 빠졌습니다. ASMX 웹 서비스가 아니라고 말한 것을 잊었습니다. WCF – WML