2012-01-27 1 views
1

Windows 인증을 WCF 서비스에 사용할 때 높은 수준에서 DNS ID를 지정한다는 것은 무엇을 의미합니까? 예를 들어 :Windows 인증에서 DNS ID 유형을 갖는 것은 무엇을 의미합니까?

<configuration> 
<system.serviceModel> 
    <bindings> 
    <wsHttpBinding> 
     <binding name="WSHttpBinding_ICalculator_Windows"> 
     <security> 
      <message clientCredentialType="Windows"/> 
     </security> 
     </binding> 
    </wsHttpBinding> 
    </bindings> 
    <client> 
    <endpoint address="http://localhost:8003/servicemodelsamples/service/dnsidentity" 
     binding="wsHttpBinding" 
     bindingConfiguration="WSHttpBinding_ICalculator_Windows" 
     contract="ICalculator" 
     name="WSHttpBinding_ICalculator"> 
     <identity> 
     <dns value="contoso.com" /> 
     </identity> 
    </endpoint> 
    </client> 
</system.serviceModel> 
</configuration> 

This page는 말한다 : 클라이언트가 서비스에 대한 Windows (커버 로스) 자격 증명을 수신 할 때

이 경우

는,이 값이 contoso.com이 될 것으로 기대하고있다.

저는 이것을 정말로 이해하지 못합니다. 서비스 자격 증명의 가치는 contoso.com 일 수 있습니까? 신임장은 무엇을 의미합니까?

또한 서비스의 실제 DNS 이름이 실제로 contoso.com인지 확인합니까? 그렇지 않으면 누군가가 contoso.com이라는 정체성을 나타내는 가짜 WCF 서비스를 작성하지 못하게됩니다.

답변

1

내가 잘못 생각하지 않으면 contoso.com은 Kerberos 용 SPN을 확인하는 데 사용됩니다. 조회 된 SPN은 http/contoso.com : 8003입니다. 이 SPN은 Active Directory에서 서비스 계정에 매핑됩니다. Kerberos 티켓은 서비스 계정의 자격 증명을 사용하여 암호화됩니다.

+1

응용 프로그램 풀을'네트워크 서비스 '로 실행하고 표준 HTTP 포트에서 서비스를 실행하면 SPN 값이 자동으로 Kerberos 인증에 맞게 자동 설정됩니다. 사용자 지정 서비스 계정 및/또는 사용자 지정 포트를 사용하는 경우 새 SPN을 도메인 관리자가 설정해야합니다. 도메인에 가입 된 컴퓨터의 기본 SPN 설정은 host/server 및 host/server-fqn입니다. 'host' 서비스는 http와 다른 것들을위한 별칭을 가지고 있습니다. –

0

나는 이것이 오래된 질문이라는 것을 알았지 만, 윈도우 전송과 함께 TCP 바인딩을 사용하는 자체 호스팅 서비스에서 클라이언트가 SpnIdentity 설정을 존중하지 않는 것으로 나타 났으며 DnsIdentity 설정 만 존중하는 것으로 나타났습니다. 자세한 내용 및/또는 의견은 wcf server authentication without certificates에서 확인하십시오.

관련 문제