1

WCF には豊富なセキュリティ モデルがあります。誰もがそれを前提として同意してくれることを願っています。最近、クライアント アプリケーション (ドメイン内のユーザーの資格情報を利用する WCF ベースのアプリケーション) が、ドメイン外のデータ センターに展開して制御する必要があるサービスと通信する必要がある状況に遭遇しました。その結果、これは私たちのシングル サインオン モデルを壊しました。セキュリティ モデルをドメイン外のサービスに拡張することに成功した人がいるかどうかを知りたいです。

私たちの ID モデルは (WindowsIdentity/WindowsPrincipal ではなく) IIdentity クラスと IPrincipal クラスに依存しているため、別の ID 実装を使用しても問題ありません。私の質問が示唆するように、私には答えがありません。あなたが答えてくれることを願っています。私が試行錯誤した 1 つのソリューションでは、クライアントが現在行っているのと同じ方法でドメインで認証する必要があります。認証の一環として、CA によって署名された X.509 証明書が提供されます (データ センターによって信頼されます)。証明書は証明書ストアに格納され (.NET にバンドルされているものがあると思いますが、ユーザーが時々移動する環境で利用できるかどうかは不明です)、要求されたときに作成/ユーザーに提供されます。

フィードバックやアイデアをいただければ幸いです。

編集

リモート データ センターに加えて、データ センター内に常駐するサービスがあります。シングル サインオンのみを必要とするソリューションを提供したいと考えています (ユーザーは、このアプリケーションを起動するたびにユーザー名とパスワードを入力する必要があります)。

4

1 に答える 1

0

B2B 環境のように、少数の参加者間で多かれ少なかれポイントツーポイントの要求がある場合は、証明書が間違いなく適しています。すべてが自動的に機能します - もちろん、すべて正しく設定すれば! :-)

基本的に、サービスにはそれ自体を認証するための証明書があり、クライアントにも証明書があり、サービスに送信され、サービスに対してクライアントを認証します。サーバー側では、 をタップして発信者の にServiceSecurityContext.Current.PrimaryIdentityアクセスできます。IIdentity

詳細については、次のリソースを参照してください。

これが少し役立つことを願っています!
マルク

于 2009-08-10T04:38:55.067 に答える