2010-01-06 2 views
0

서비스에 의해 인증되지 않았습니다. "호출자가 서비스에 의해 인증되지 않은" WCF : 호출자가 난 그냥 내 첫 번째 서비스 응용 프로그램을 구성했습니다 그리고 난이 오류가 무엇입니까

서비스가 IIS 6.0을 통해 내 서버에서 호스팅되고 있으며이 서비스를 사용하는 다른 PC에 데스크톱 응용 프로그램을 만들었습니다. 이상한 점은 두 응용 프로그램이 서비스가 작동하는 동일한 PC에있을 때입니다. IIS에서 익명 사용자 액세스를 사용하도록 설정했습니다. Iv는 지금 당분간이 문제를보고 있었고 서비스와 클라이언트 애플리케이션을 올바르게 구성하여 상호 작용할 수있는 방법을 모르고 있습니다.

도와주세요 !!

감사

제임스

서버 웹 설정 :

,

클린트 응용 프로그램 구성 파일 :

,536,913,632 10
<system.serviceModel> 
    <bindings> 
     <basicHttpBinding> 
      <binding name="BasicHttpBinding_ICOPITSERVICE" closeTimeout="00:01:00" 
       openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" 
       allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard" 
       maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536" 
       messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered" 
       useDefaultWebProxy="true"> 
       <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384" 
        maxBytesPerRead="4096" maxNameTableCharCount="16384" /> 
       <security mode="None"> 
        <transport clientCredentialType="None" proxyCredentialType="None" 
         realm="" /> 
        <message clientCredentialType="UserName" algorithmSuite="Default" /> 
       </security> 
      </binding> 
     </basicHttpBinding> 
     <netNamedPipeBinding> 
      <binding name="NetNamedPipeBinding_ICOPITSERVICE" closeTimeout="00:01:00" 
       openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" 
       transactionFlow="false" transferMode="Buffered" transactionProtocol="OleTransactions" 
       hostNameComparisonMode="StrongWildcard" maxBufferPoolSize="524288" 
       maxBufferSize="65536" maxConnections="10" maxReceivedMessageSize="65536"> 
       <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384" 
        maxBytesPerRead="4096" maxNameTableCharCount="16384" /> 
       <security mode="Transport"> 
        <transport protectionLevel="EncryptAndSign" /> 
       </security> 
      </binding> 
     </netNamedPipeBinding> 
     <netTcpBinding> 
      <binding name="NetTcpBinding_ICOPITSERVICE" closeTimeout="00:01:00" 
       openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" 
       transactionFlow="false" transferMode="Buffered" transactionProtocol="OleTransactions" 
       hostNameComparisonMode="StrongWildcard" listenBacklog="10" 
       maxBufferPoolSize="524288" maxBufferSize="65536" maxConnections="10" 
       maxReceivedMessageSize="65536"> 
       <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384" 
        maxBytesPerRead="4096" maxNameTableCharCount="16384" /> 
       <reliableSession ordered="true" inactivityTimeout="00:10:00" 
        enabled="false" /> 
       <security mode="Transport"> 
        <transport clientCredentialType="Windows" protectionLevel="EncryptAndSign" /> 
        <message clientCredentialType="Windows" /> 
       </security> 
      </binding> 
     </netTcpBinding> 
     <wsHttpBinding> 
      <binding name="WSHttpBinding_ICOPITSERVICE" closeTimeout="00:01:00" 
       openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" 
       bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard" 
       maxBufferPoolSize="524288" maxReceivedMessageSize="65536" 
       messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true" 
       allowCookies="false"> 
       <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384" 
        maxBytesPerRead="4096" maxNameTableCharCount="16384" /> 
       <reliableSession ordered="true" inactivityTimeout="00:10:00" 
        enabled="false" /> 
       <security mode="Message"> 
        <transport clientCredentialType="Windows" proxyCredentialType="None" 
         realm="" /> 
        <message clientCredentialType="Windows" negotiateServiceCredential="true" 
         algorithmSuite="Default" establishSecurityContext="true" /> 
       </security> 
      </binding> 
     </wsHttpBinding> 
    </bindings> 
    <client> 
     <endpoint address="http://localhost:8080/COPIT_SERVICE/ws" binding="wsHttpBinding" 
      bindingConfiguration="WSHttpBinding_ICOPITSERVICE" contract="COPIT_SERVICE.ICOPITSERVICE" 
      name="WSHttpBinding_ICOPITSERVICE"> 
      <identity> 
       <dns value="localhost" /> 
      </identity> 
     </endpoint> 
     <endpoint address="http://localhost:8080/COPIT_SERVICE/basic" 
      binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_ICOPITSERVICE" 
      contract="COPIT_SERVICE.ICOPITSERVICE" name="BasicHttpBinding_ICOPITSERVICE" /> 
     <endpoint address="net.tcp://localhost:8888/COPIT_SERVICE" binding="netTcpBinding" 
      bindingConfiguration="NetTcpBinding_ICOPITSERVICE" contract="COPIT_SERVICE.ICOPITSERVICE" 
      name="NetTcpBinding_ICOPITSERVICE"> 
      <identity> 
       <userPrincipalName value="[email protected]ie" /> 
      </identity> 
     </endpoint> 
     <endpoint address="net.pipe://localhost/COPIT_SERVICE" binding="netNamedPipeBinding" 
      bindingConfiguration="NetNamedPipeBinding_ICOPITSERVICE" contract="COPIT_SERVICE.ICOPITSERVICE" 
      name="NetNamedPipeBinding_ICOPITSERVICE"> 
      <identity> 
       <userPrincipalName value="[email protected]" /> 
      </identity> 
     </endpoint> 
    </client> 
</system.serviceModel> 
+0

귀하의 경우 어떤 엔드 포인트를 사용하고 있습니까? –

답변

0

marc_s가 말한 것처럼 어떤 바인딩을 사용하고 있습니까?

그러나 몇 가지 작동하지 않습니다 여기 가지가 있습니다

  • netNamedPipes 및 netTCP 바인딩 기계 사이에 작동하지 않습니다 바인딩 IIS 6
  • netNamedPipe를 사용하여 지원되지 않습니다. 이는 의도적으로 설계된 동작입니다.

wsHttpBinding을 사용하고있는 것으로 추측됩니다.이 자격 증명은 Windows 자격 증명을 사용하고 있습니다. 2-3 가능한 문제는 다음이 있습니다 :

  • 기계를 인증되지 않은 클라이언트에서

    • 익명 IIS 설정 결과는하지
    • 클라이언트는 로컬 계정으로 로그인 한 도메인에
  • 관련 문제