2010-01-15 5 views
3

서비스를 사용하는 Silverlight 클라이언트의 Windows 사용자 이름을 반환하는 메서드가있는 WCF 서비스가 있습니다. WCF 서비스는 TransportCredentialOnly 모드를 설정하고 TransportClientCredentialType을 Windows로 설정하여 basicHttpBinding을 사용합니다. IIS에서 Windows 인증은 사용 가능하고 anon 인증은 사용 불가능합니다.HttpContext.Current.User는 항상 null입니다.

서비스를 호출 할 때 (분명히) 서비스를 올바르게 구성했지만 사용자 이름을 반환하도록 요청했는데 오류가 발생했습니다. 자세히 검사하면 HttpContext.Current.User가 항상 null임을 알 수 있습니다 (따라서 nullreference 예외가 throw됩니다).

다른 사람이 아이디어가 작동하지 않는 이유가 있습니까?

답변

4

를 추가해보십시오 - 설정 파일에

<serviceHostingEnvironment aspNetCompatibilityEnabled="true" /> 

+2

감사합니다. 또한 [AspNetCompatibilityRequirements (RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]도 클래스에 추가해야 함을 유의해야합니다. – Calanus

1

WCF에서, 당신은 ServiceSecurityContext 속성을 사용하여 호출자/클라이언트에 의해 전달 된 보안 자격 증명을 검색 할 수있는에서 OperationContext 객체가 .

관련 문제