2011-02-28 3 views
1

IIS 6에서 호스팅되는 WCF (v3.5 with webHttpBinding) 서비스가 있습니다. 누군가가 서비스에 액세스하기 전에 사용자 정의 인증을 구현하고 싶습니다. 즉, 사용자 세부 정보가 db에 저장됩니다.IIS 호스팅 WCF 서비스에 대한 사용자 지정 인증?

하지만 IIS에서 호스팅되는 WCF 서비스에 대해서만 다양한 Windows 및 포럼에서 읽을 수 있습니다. 이 문제를 해결할 수있는 즉시 사용 가능한 방법은 없습니다.

누군가가 해결 방법을 제안 할 수 있습니까? 나는 이것이 많은 사람들이 전에 만나야 만했던 매우 일반적인 문제라고 생각한다.

+0

사실이 아닙니다. IIS 6의 IIS 호스팅 서비스는 전송 프로토콜로 ** http **만을 지원하지만 ** 가장 확실하게 ** 사용자 지정 인증, 인증서 인증 등을 지원합니다 ** –

+0

[WCF 보안 지침] (http://wcfsecurity.codeplex.com/wikipage?title=Questions%20and%20Answers&referringTitle=Home) - 질의 응답 섹션에는 다양한 인증 방법을 사용하는 방법에 대한 여러 가지 질문 (및 답변)이 있습니다. –

+0

@marc_s - 리소스 감사합니다. 그러나, 사용자 지정 인증이 wsHttpBinding 만 지원되고 webHttpBinding은 지원되지 않습니다 (이후 RESTful 서비스를 구축하려고 시도하고 있기 때문)? – Mandar

답변

0

나는 다음 링크의 도움으로 사용자 인증을 구현할 수 -

http://www.codeproject.com/KB/WCF/BasicAuthWCFRest.aspx (솔루션 WCF REST 스타터 키트를 사용)

http://www.codeproject.com/KB/WCF/AutomaticCultureFlow.aspx (스타터 키트없이 포인터)

내가 할 수있는 서버 측에서 메시지 검사기를 사용하여 시작 키트가 필요 없습니다. 인증을 수행하기 위해 AfterReceiveRequest 및 BeforeSendReply 메소드를 구현했습니다. RESTful 서비스를 만들 때부터 webHttpBinding에 사용자 지정 동작을 추가해야했습니다.

+0

유용한 또 다른 링크 - http://blogs.msdn.com/b/zelmalki/archive/2008/12/29/creating-a-wcf-idispatchmessageinspector.aspx (세부 정보 및 샘플 코드 있음) – Mandar