2012-05-14 167 views
1

Windowsサービスでtcpバインディングを使用してwcfサービスをホストします。これにより、ユーザーのたいが、インターネットからサービスに接続する場合しかし、彼らは次のエラーを取得し、当社のLAN上で正常に動作します:サーバーがクライアントの資格情報を拒否しました。二重wcfサービス

The server has rejected the client credentials

これは私のサービスの設定です:

service behaviorConfiguration="WcfServiceLibrary1.Service1Behavior" 
     name="LivePushServiceLib.SubscribeService"> 
     <endpoint address="" binding="netTcpBinding" bindingConfiguration="" 
      contract="WCF_Interface.ISubscribeService"> 

     </endpoint> 
     <endpoint address="mex" binding="mexTcpBinding" bindingConfiguration="" 
      contract="IMetadataExchange" /> 
     <host> 
      <baseAddresses> 
      <add baseAddress="net.tcp://188.x.x.x:8524/SubscribeService.svc" /> 
      </baseAddresses> 
     </host> 
     </service> 
    </services> 

答えて

0

あなたは、デフォルトのセキュリティを使用していますNetTcpBindingはWindowsです。あなたのLANでは、誰もがWindowsの資格情報を使用していると思っています。ただし、インターネットからのユーザーがドメイン上の資格情報を持っていない可能性があります

インターネットでこれを使用するには、セキュリティをTransportWithMessageCredentialのように設定し、資格情報の種類のユーザー名を使用します。これにより、インターネットベースのクライアントは、カスタムUsernamePasswordValidatorで検証できるユーザー名で認証できます

関連する問題