2011-01-14 13 views
1

私がしたいことは:WCFクライアントとサービスの間の認証を維持しますか?

1)WCFサービスに対する最初の呼び出しに対してクライアントを認証します。これは、アプリケーションごとではなくユーザーごとに行われます。

2)クライアントが電話をかける権限があることを確認します。

3)前回の呼び出しでステップ1で既に認証が行われている、後で許可するための呼び出し用。

OR

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

これは意味があると思いますが、これは暗黙的にWCFでユーザー名とパスワードの認証と承認を使用して行われるのでしょうか、カスタマイズされたものを書く方法がありますか?本質的にこれは効率のためです。

多くのおかげで、 ふぐ

+0

あなたはWCFサービスをどこにホストしていますか?どのタイプの認証を使用していますか? Windows、フォーム? – bic

+0

「ワークフロー提供」とはどういう意味ですか? WF(Windows Workflow)を使用してWCFサービスを作成していますか?もしそうなら、それはWF 3かWF 4か? – TrueWill

答えて

2

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

は、セキュリティコンテキストを可能にするためのいくつかの基本的な設定です:

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

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

関連する問題