私はWCFアプリケーションの設計に忙しいです。アプリの目的は、保険会員がウェブを介して保険情報にアクセスできるようにすることです。WCFアーキテクチャ
問題は私たちのネットワークアーキテクチャにあります。私は、使用する必要があるセキュリティのタイプまたは組み合わせを正確には分かりません。
私たちの内部ネットワークには、EntireX .netラッパーを使用してアクセスするUNIX環境があり、Enterpriseライブラリ経由でアクセスできるOracle 10gデータストアがあります。
私は、エンタープライズライブラリ/ EntireX経由でこれらのオブジェクトを設定するビジネスオブジェクトとDALを含むBLLを作成しました。
2つのWCFサービス(1つはOracleストアにアクセスするため、もう1つはUNIXにアクセスするためのもの)を使用してWCFサービス層を作成し、BLLを参照します。
ファイアウォール内のSQL 2005を使用する運用サーバー上でIISでこのサービスをホストする予定です。 DMZを作成するWebサーバーを購入しました。このWebサーバーは、ポート443および/またはポート80経由で本番サーバーと通信します。当社のインターネットは、DMZ内のWebサーバーにアクセスできます。
プレゼンテーション層は、Channelfactoryを使用してコード内でサービスを呼び出すASP.Netフロントエンドになります。私は、クライアントがサービスに提示しなければならないX509クライアント証明書を使用します。サービスはSSLで保護されています。フロントエンドはDMZ内のWebサーバー上にあります。
私はトランスポートセキュリティとclientCredentialType = "Certificate"を使用してwsHttpBindingを使用していますが、うまくいきますが、サービスにログイン情報を渡したいと思います。私はそれをメッセージヘッダーに追加することを考えました。
今、私はデザインの実行可能性に疑念を抱いています。誰かに、このシナリオでどのようなバインディングとセキュリティを使用する必要があるか、ログイン情報を渡す方法、そして私のプレゼンテーションレイヤーでもっとも安全であるべきものについて、いくつかのヒントを教えてください。ファイアウォールを介して内部プロダクションサーバにどのポートを開くかを制御します。 DMZ内のWebサーバーでホストされるASP.Netクライアントは1つだけですが、本番サーバーへのHTTPSまたはHTTPアクセスのみが可能です。
どうもありがとう ライアン
おかげ
「ログイン情報をサービスに渡したい」と言われたら、サービス層でそのユーザーの身元を知りたいのですか? – Dan