SharePoint プロジェクト用の Azure カスタム クレーム プロバイダー パート 1
原文の記事の投稿日: 2012 年 2 月 11 日 (土曜日)
みなさん、こんにちは。前回、SAML クレームについての記事を追加してからしばらく時間が経ちました。今回は、私自身興味のあるいくつかのトピック (SharePoint、SAML、カスタム クレーム プロバイダー、CASI キット、および Azure) と関連付けて SAML クレームについてさらに詳しく説明します。シリーズ 1 回目の今回は、概念実証を行って、ソース コードを完成します (このソース コードは自由に好きなだけ使用できます)。このソース コードは、Windows Azure をデータ ソースとして使用する、SharePoint 用のカスタム クレーム プロバイダーの構築方法を示す具体例の 1 つです。高レベルでの実装は次のようになります。
- ユーザーは、ACS との SAML フェデレーションを使用してサイトにログインします。ACS 側に、何種類かの ID プロバイダー (Google、Yahoo、Facebook など) を構成します。したがって、ユーザーは、Google などの電子メール アドレスを使用してサインインし、認証後に、サイトにリダイレクトされます。
- Azure キューを使用して、ユーザーのクレーム情報をルーティングし、Azure テーブル記憶領域に格納します。
- WCF アプリケーションを用意します。このアプリケーションは、Azure テーブル記憶領域内のデータの要求のフロントエンド、およびキュー内の新規アイテムの自動仕分けに使用されます。この WCF アプリケーションと SharePoint サイトの間に信頼を作成することにより、そこに参加できるユーザーを制限し、そのユーザーに対して表示できる内容および実行できる操作を制御します。
- SharePoint 側に、カスタム クレーム プロバイダーを作成します。このカスタム クレーム プロバイダーは、サポートされているクレームの種類のリストを取得します。また、このカスタム クレーム プロバイダーは、ユーザー選択による検索および名前解決も行います。このカスタム クレーム プロバイダーは、裏では CASI キットを使用して Windows Azure と通信します。
最終的には、SharePoint とクラウドがエンドツーエンドで完全に接続された統合環境となります。どのような結果になるかお楽しみに。
パート 2 では、クラウド内で実行されるすべてのコンポーネントについて説明します。このようなコンポーネントには、たとえば、Azure テーブル記憶領域およびキューの操作に使用するデータ クラスがあります。また、キュー内のアイテムの読み取りと、テーブル記憶領域へのデータの格納に使用される worker ロールもあります。さらに、WCF フロント エンドもあります。クライアント アプリケーションは、この WCF フロント エンドを使用して、キュー内に新規アイテムを作成します。また、この WCF フロント エンドは、すべての標準的な SharePoint ユーザー選択要素の実行 (サポートされているクレームの種類のリストの提供、クレーム値の検索、クレームの解決) にも使用されます。
パート 3 では、SharePoint ファーム内で使用するすべてのコンポーネントを作成します。たとえば、SharePoint と Azure の間の通信をすべて管理するカスタム コンポーネントを CASI キットに基づいて作成します。新規ユーザーに関する情報をキャプチャして Azure キューにプッシュするカスタム Web パーツも作成します。また、WCF を介して Azure テーブル記憶領域と通信し、入力コントロールおよびユーザー選択機能を有効にするカスタム クレーム プロバイダーも作成します。このカスタム クレーム プロバイダーも CASI キットに基づくカスタム コンポーネントです。
これはローカライズされたブログ投稿です。原文の記事は、The Azure Custom Claim Provider for SharePoint Project Part 1 をご覧ください。