3

クライアントとサーバーでこのバインディング構成を使用しています。

<basicHttpBinding>
    <binding name="BasicHttpBinding_IService1">
        <security mode="TransportWithMessageCredential">
            <transport clientCredentialType="Windows" />
        </security>
    </binding>
</basicHttpBinding>

クライアントのクレデンシャルは、私が想定したように自動的に渡されないようです(またはそうですか?)ので、自分で設定する方法を知る必要があります。これも機能しますか?

4

2 に答える 2

4

IISでWindows認証を有効にする必要があります。それを行う方法については、以下のリンクを参照してください。

また、MSDN Webサイトを確認しました。構成とmsdnの主な違いは、セキュリティモードです。

<bindings>
  <basicHttpBinding>
    <binding name="BasicHttpEndpointBinding">
      <security mode="TransportCredentialOnly">
        <transport clientCredentialType="Windows" />
      </security>
    </binding>
  </basicHttpBinding>
</bindings>

ご覧のとおり、唯一の違いはモードです。これで問題が解決するかどうかはわかりませんが、試してみてください。

以下は、すべての「サービスバインディング」で可能な5つの「セキュリティモード」です。

なし-セキュリティをオフにします。

トランスポート-相互認証とメッセージ保護に「トランスポートセキュリティ」を使用します。

メッセージ-相互認証とメッセージ保護に「メッセージセキュリティ」を使用します。

両方-トランスポートおよびメッセージレベルのセキュリティの設定を提供できます(MSMQのみがこれをサポートします)。

TransportWithMessageCredential-クレデンシャルはメッセージとともに渡され、メッセージ保護とサーバー認証はトランスポート層によって提供されます。

TransportCredentialOnly-クライアントの資格情報はトランスポート層で渡され、メッセージ保護は適用されません。

于 2012-07-16T11:06:40.093 に答える
0

この動作の理由は、ASP.NET 4のインストールに問題があり、再度有効にする必要があることがわかりました。その後、それは「うまくいった」。

http://msdn.microsoft.com/en-us/library/k6h9cz8h.aspx

于 2012-07-18T12:27:13.733 に答える