だから私に耐えてください、私はMVCとWCFで新しいです。BLLを公開する一連のサービス(WCF)を既に持っており、MVC.net Webアプリケーションからそれらを利用しようとしていますが、ここでセキュリティ操作を実行する方法がわかりません。
これらは私のアプリの要件です:
- Webアプリケーション上のユーザーごとに異なるクレデンシャルを使用してWCFサービスを利用できる
- 私のBLL(WCF)は、コンシューマーが何を呼び出しているかを知る必要があります(現在、MVCアプリしかありませんが、iOSとAndriodの呼び出しを追加する予定なので、後でWCFエンドポイントにRESTサービスを追加します)このためのデザインパターンはありますか?(または、soapヘッダーを使用して発信者IDを含める必要がありますか?ある種の発信者シークレットなどを使用する必要がありますか?)
- トークンなどのセキュリティメカニズムが必要なので、サービスメソッド(WCF)を呼び出すたびにユーザー名とパスワードを渡す必要はありません。
私がこれまでに持っているもの:
- WCFは、証明書とカスタムユーザー名バリデーターを使用します。
- 生成されたプロキシの代わりにコントラクトインターフェイスを使用してプロキシを手動でコーディングしました。しかし、WCFサービスを呼び出すたびにユーザー名とパスワードを検証する必要があるという事実は嫌いです。ここでトークンを使用するにはどうすればよいですか?石鹸ヘッダーで送信された特定のトークンが有効であるか、まだ有効期限が切れていないかを知りたいですか?私はたくさん検索しましたが、実際にコーディングを開始するのに十分なチュートリアル/コード/例は明確ではありません;(
- ChannelFactoryをキャッシュしようとしていますが、キャッシュする必要がありますか?つまり、契約ごとにログインユーザーごとにチャネルファクトリをキャッシュする必要があります;(それは大丈夫ですか?ここで何ができますか?
前もって感謝します!