2

netTcpBindind を使用してサーバーに WCF サービスを作成しました。オフィスで WCF クライアントを実行すると、サービスにアクセスできます。しかし、「サーバーがクライアント資格情報を拒否しました」というエラー メッセージが表示されます。VPNを使用してオフィスネットワークに接続された自宅で同じWCFクライアントを実行すると。(同じドメインのオフィス ラップトップ)。注: 私は自宅とオフィスで同じラップトップを使用しています。(ドメイン名\ディクソン)

これは、サーバーで実行されている WCF サービス構成設定です。

<services>

  <service behaviorConfiguration="DTATDataEngine.DTATServiceBehaviour" name="DTATDataEngine.DTATService">     

    <endpoint address="" binding="netTcpBinding" bindingConfiguration=""
      contract="DTATDataEngine.IDTATService">
      <identity>
        <dns value="localhost" />
      </identity>
    </endpoint>        
    <endpoint address="mex" binding="mexTcpBinding" bindingConfiguration=""
      contract="IMetadataExchange" />
    <host>
      <baseAddresses>
        <add baseAddress="net.tcp://XXX.XXX.XXX.XXX:8523/DTATService" />
      </baseAddresses>
    </host>
  </service>
</services>
<behaviors>
  <serviceBehaviors>
    <behavior name="DTATDataEngine.DTATServiceBehaviour">
      <serviceMetadata httpGetEnabled="false" />
      <serviceDebug includeExceptionDetailInFaults="false" />
    </behavior>
  </serviceBehaviors>
</behaviors>

誰かがこれについて私を助けることができます!

どうもありがとう、ディクソン

4

1 に答える 1

0

あなたの<bindings>セクション、そしてもっと重要なことに、あなたのセクションはどこ<security>にありますnetTcpBindingか?net.tcpのデフォルトのセキュリティは、Windowsクライアントの資格情報を使用するトランスポートだと思います。

仕事用PCはドメインにログオンするため認証されますが、自宅用PCはワークグループ内にのみ存在し、ドメインで実行されているサービスに対して認証できません。

于 2012-08-08T12:16:27.183 に答える