문제

WCF/BASICHTTP에서 NTLM 인증이 어떻게 작동하는지 아는 사람이 있습니까? 모든 단일 서비스 방법 호출에 대해 사용자 자격 증명이 전달되는지 또는 후속 서비스 방법 호출에 어떤 종류의 보안 토큰이 사용되는지 궁금합니다.

내가 사용하는 정확한 바인딩 구성 :

<bindings>
  <basicHttpBinding>
    <binding name="winAuthBasicHttpBinding">
      <security mode="TransportCredentialOnly">
        <transport clientCredentialType="Ntlm" />
      </security>
    </binding>
  </basicHttpBinding>
</bindings>

MSDN 참조에서 이러한 유형의 구성을 발견했습니다. 그러나 이것이 좋은 아이디어 성능이 현명한 지 확실하지 않습니다. 대안은 클라이언트의 모든 후속 요청에 대한 보안 토큰을 제공하는 사용자 정의 GetAuthenticationToken () 종류의 방법을 제공하는 것입니다. 이는 엔터프라이즈 라이브러리 - 보안 애플리케이션 블록을 통해 수행 할 수 있습니다.

자세한 내용 :이 서비스는 브라우저/실버 라이트 클라이언트가 소비합니다.

도움이 되었습니까?

해결책

이 경우 여기에서 모든 단일 메소드 호출이 인증됩니다.

당신이 말하는 것은 클라이언트가 서버에 대해 한 번 인증 한 다음 공통 토큰이 후속 교환에 사용되는 "보안 세션"이라고 불리는 것입니다. 그러나 보안 세션 기능은 Basichttpbinding이 아닌 WSHTTPBinding에서만 사용할 수 있습니다.

마크

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top