2010-07-26 4 views
2

내 첫 번째 질문은 basicHttpBinding과 함께 사용자 정의 UserNamePasswordValidor를 사용할 수 있습니까?basicHttpBinding 및 사용자 정의 UserNamePasswordValidator를 사용하는 WCF 인증

폼 인증 및 사용자 지정 멤버 자격 공급자를 사용하는 asp.net 웹 사이트가 있습니다. 나는 내 클라이언트 (WPF 애플 리케이션)를 인증하기 위해 System.Web.ApplicationServices.AuthenticationService에 내장 된 것을 사용할 수 있지만 두 개의 서비스 호출 (하나는 인증 서비스 용, 하나는 로직 용)을 원하지 않는다는 것을 알고있다.

그래서 사용자 지정 UserNamePasswordValidator가 작업에 적합 할 것으로 보입니다. 내 클라이언트에서 나는 다음 할 수 있습니다 :이있는 wsHttpBinding 작업을하지만, 이상적으로 SSL 인증서없이 테스트 할 것 본 적이

 var service = new MyServiceClient(); 
     service.ClientCredentials.UserName.UserName = "username"; 
     service.ClientCredentials.UserName.Password = "password"; 

     MessageBox.Show(service.SayHello()); 

.

또는 다른 WCF 서비스에서 AuthenticationService를 사용할 수 있습니까?

  if (authService.Login("username", "password")) 
      // then call my service 

내가이 작은 것은 알고 있지만 클라이언트 응용 프로그램의 외부 개발자는 단지 기대하고있다 : 나는 인증 서비스에 대한 위의 의미를 명확히하기 위해

, 나는이 서비스를 호출 즉하고 싶지 않아요 자격 증명을 가져와 필요한 데이터를 반환하는 하나의 서비스.

감사합니다, 벤

+0

나는 비슷한 상황에 있습니다. basicHttpBinding과 함께 UserNamePasswordValidator를 SSL (HTTPS)없이 사용하고 서버에 인증서를 설치하지 않아도됩니다. 즉, 가장 간단하고 보안되지 않은 인증 방법이 필요합니다. – Lester

+0

basicHttpBinding과 함께 UserNamePasswordValidator를 사용할 수 없다고 생각합니다. 적어도 읽은 것 이상입니다. 결국 우리는 사용자 이름과 암호를 각 메서드 호출의 매개 변수로 전달하고 자격 증명의 유효성을 검사하기로 선택했습니다. 물론 SSL 없이도 작동하지만 권장하지 않으며 자격 증명이 일반 텍스트로 전송됩니다. –

+2

실제로 basicHttpBinding과 함께 UserNamePasswordValidator를 사용할 수 있습니다. 그러나 BrettRobi

답변

2

저는 현재 몇 개의 프로젝트에서 basicHttpBinding보다 UserNamePasswordValidator를 사용합니다. 그것은 위대한 작품; 그러나 코멘트에 언급 된 Brett Robi처럼 유효성 검사기를 호출하려면 보안 모드를 Message 또는 TransportWithMessageCredentials로 설정해야합니다. 이러한 보안 모드는 SSL을 통과해야합니다.

그래서 간단히 요약하면 basicHttpBinding이 가능합니다. 단, SSL 만 사용해야합니다. 보안 모드 및 SSL을 제거하면 자격 증명 유효성 검사가 호출되지 않습니다.

+0

비공개 서비스 인 경우 비 SSL 인증서를 사용해야합니다. 그런 다음 인증서를 앱에 내장 할 수 있습니다. 메시지 보안 옵션을 사용하여 SSL을 요구하지 않는 것에서 다른 방법으로 이동하는 방법이 있습니다. – jpierson

관련 문제