WCFクライアントとサービス間の認証を維持しますか? (提供されたワークフロー)

StackOverflow https://stackoverflow.com/questions/4692558

質問

私がやりたいのは:

2)クライアントが電話をかけることが許可されていることを確認してください。

また

クライアントが何らかの理由でサービスの別のインスタンスに接続されている場合、または「握手」が壊れて再認証する場合。

これが理にかなっていることを願っています。これは、ユーザー名とパスワードの認証と承認を使用してWCFで暗黙的に発生しますか、それともカスタマイズされたものを書く方法はありますか?本質的にこれは効率のためです。

どうもありがとう、fugu

役に立ちましたか?

解決

これはセキュリティコンテキスト(またはセキュリティセッション)と呼ばれ、メッセージセキュリティで可能です。唯一の制限は、セッションが単一サービスインスタンスとクライアントプロキシの間で処理されることです(すべての呼び出しは同じプロキシインスタンスで実行する必要があります)。

セキュリティコンテキストを許可するための基本的な構成を次に示します。

<wsHttpBinding>
  <binding name="wsHttp">
    <security mode="Message">
      <message clientCredentialsType="UserName" estabilishSecurityContext="true" />
    </security>
  </binding>
</wsHttpBinding>

EstabilishSecurityContext デフォルトでは真です。これをオンにすると、WS-SecureConversationプロトコルが使用されます。最初のコールは、認証された資格情報を通過し、セキュリティトークンがクライアントに発行されます。次の呼び出しは、このセキュリティトークンを使用してクライアントのアイデンティティを提供します。この動作は開発者にとって透明なので、トークンにまったく対処する必要はありません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top