2010-01-15 6 views
1

이전 ASP 및 ASP .NET 응용 프로그램을 비롯한 다양한 잠재적 플랫폼에 액세스 할 수 있어야하는 웹 서비스를 구축하고 있습니다. 몇 가지 조사를 한 후에 REST (webHttpBinding) 및 SOAP (wsHttpBinding) 끝점 (즉, 다양한 플랫폼을 지원할 수 있고 여전히 .NET 코드 작성자를 행복하게 만들 수 있음)을 사용하여 WCF 서비스를 구현했습니다.HTTP 기본 인증을 사용하는 WCF

보안을 위해 사용자 이름/비밀번호 데이터베이스에 대해 SSL 및 HTTP 인증 기본을 사용하고 있습니다. 그래서 사용자 이름과 암호를 처리하고 SSL을 확인하기 위해 HttpModule을 작성했습니다. 이제 REST 설정이 완벽하게 작동하지만 SOAP 끝점에 문제가 있습니다. 내가 사용하는 설정에 관계없이 SOAP 클라이언트는 결코 인증에 사용할 수있는 WWW-Authorization 헤더를 보내지 않습니다. 나는 <message clientCredentialType="UserName" />과 같은 것을 설정하면 WCF에게 Authorization 헤더를 기대하고 그 정보가 웹 참조를 생성 할 때 Visual Studio (또는 어떤 클라이언트)에 의해 선택 될 것이라고 가정하고 있습니다. 아마 나는 단지 절망적으로 순진하고있다.

질문을 요약하면 : 비누 메시지와 함께 WWW 인증 헤더 (즉 HTTP 기본 헤더)를 보내도록 WCF에 알릴 수있는 방법이 있습니까?

답변

2

인증을위한 사용자 지정 헤더를 만들 수 있습니다. , 내가 SOAP의 지원을 중단하고 그들에게 REST를 마무리 일부 API DLL을주고 더 나을 것 같아 그게 내 클라이언트가 처리 할 것입니다 복잡성 수준 인 경우에

는보고 here

+0

흠을 가지고 전화. 필자의 경우 SOAP 끝점을 가져야한다는 요지는 고객의 삶을 더 쉽게 만들어주는 것입니다 (즉, 웹 참조를 추가하는 것만으로) – Badjer

관련 문제