Share via


WCF: SharePoint 2010 外部コンテンツ タイプとしてのクレーム対応 WCF Web サービスの利用 (パート 4 / 4)

概要:   SharePoint Designer 2010 を使用してクレーム対応の Web サービスを利用する方法を説明します。この記事はシリーズの 4 番目にあたります。この記事の手順に従う前に、まずこれまでの 3 つの記事の手順を確認して実行してください。

最終更新日: 2011年11月4日

SharePoint Online で使用可能

この記事の内容
概要
Web サービスからの外部コンテンツ タイプの作成
まとめ
その他の技術情報

適用対象: Business Connectivity Services | Office 2010 | Open XML | SharePoint Designer 2010 | SharePoint Foundation 2010 | SharePoint Online | SharePoint Server 2010 | Visual Studio

提供元:   Eric White、Microsoft Corporation | Saji Varkey、Microsoft Corporation | Bin Zhang、Microsoft Corporation

目次

  • 概要

  • Web サービスからの外部コンテンツ タイプの作成

  • まとめ

  • その他の技術情報

この記事は、Microsoft Business Connectivity Services (BCS) を使用したクレーム対応 Web サービスの作成および利用方法を 4 部構成で説明するシリーズの 4 番目の記事です。

概要

クレーム対応 Web サービスを外部コンテンツ タイプとして利用する方法は、クレームに対応していない Web サービスを外部コンテンツ タイプとして使用する場合と類似しています。既に外部コンテンツ タイプの設定に習熟している場合は、この手順のほとんどのステップに見覚えがあるはずです。クレームの使用に特有の手順は、ステップ 28、29、および 30 のみです。

Web サービスからの外部コンテンツ タイプの作成

Web サービスから外部コンテンツ タイプを作成するには

  1. Microsoft SharePoint Designer 2010 を開きます。

  2. 外部コンテンツ タイプを使用するように構成した SharePoint サイトを開きます。

  3. [サイト オブジェクト] リストで、[外部コンテンツ タイプ] をクリックします。

    図 1. サイト オブジェクト リストの 外部コンテンツ タイプ

    サイト オブジェクト リストの外部コンテンツ タイプ

  4. リボンの [新しい外部コンテンツ タイプ] をクリックします。

    図 2. リボンの外部コンテンツ タイプ

    リボン上の外部コンテンツ タイプ ボタン

  5. [新しい外部コンテンツ タイプ] タブで、[新しい外部コンテンツ タイプ] をクリックします。

    図 3. 新しい外部コンテンツ タイプ リンク

    新しい外部コンテンツ タイプのリンク

  6. 外部コンテンツ タイプの名前を入力します。たとえば、 顧客の名前を入力します。

    図 4. 外部コンテンツ タイプの名前付け

    外部コンテンツ タイプの名前指定

  7. Tab キーを押します。

    Tab キーを押すと、SharePoint Designer 2010 によって [表示名] が [名前] と同じものに設定されます。必要に応じて、[表示名] を [名前] とは異なるものに変更できます。

  8. [ここをクリックして、外部データソースの検出と操作の定義を行います。] リンクをクリックします。

    図 5. 外部データ ソースの検出

    外部データ ソースの検出

  9. [接続の追加] をクリックします。

    図 6. 接続の追加

    接続の追加

  10. [外部データ ソースの種類の選択] ダイアログ ボックスが表示されます。

    リストから [WCF サービス] を選択し、[OK] をクリックします。

  11. [WCF 接続] ダイアログ ボックスの [サービス メタデータの URL] フィールドに、このシリーズの前の記事で作成した Web サービスのサービス メタデータの URL を入力します。このメタデータの URL は、次のようになります。サーバー名は、前の記事「WCF: WCF Web サービスと SharePoint 2010 Security Token Service 間の信頼関係の確立 (パート 3/4)」の手順「証明書の HTTPS へのバインド」で決定した件名フィールドの値で置き換えられています。

    http:// ericwhit209.redmond.corp.microsoft.com/Customers/Customers.svc?wsdl
    

    図 7. サービス メタデータの URL の入力

    サービス メタデータ URL の入力

    注意

    このメタデータの URL では https が使用されていないことに注意してください。

  12. [サービス エンドポイントの URL] に Web サービスのサービス エンドポイントの URL を入力します。サービス エンドポイントの URL は次のようになります。サーバー名は、ドメイン内の完全修飾コンピューター名で置き換えられています。

    https:// ericwhit209.redmond.corp.microsoft.com/Customers/Customers.svc
    

    図 8. サービス エンドポイント URL の入力

    サービス エンドポイント URL の入力

  13. 「 顧客 」と [名前 (省略可能)] フィールドに入力します。

    図 9. 接続名の入力

    接続名の入力

  14. [OK] をクリックします。SharePoint Designer による Web サービスの検出中は、1 つ以上の進捗状況バーが表示されます。

  15. [データ ソース エクスプローラー] で [顧客] データ ソース ノードを展開します。

    図 10. 顧客データ ソースの展開

    顧客データ ソースの拡張

  16. [データ ソース エクスプローラー] で [Web メソッド] ノードを展開します。

    図 11. Web メソッドの展開

    Web メソッドの拡張

  17. [GetAllCustomers] を右クリックし、["リストの読み取り" 操作の新規作成] をクリックします。

    図 12. リストの読み取り操作の新規作成

    新しいリストの読み取り操作

  18. ウィザードの [操作のプロパティ] ダイアログで、[次へ] をクリックします。

  19. ウィザードの [入力パラメーター構成] ダイアログで、[次へ] をクリックします。

  20. ウィザードの [戻り値パラメーター構成] ダイアログにある [データ ソース要素] ツリーで、[CustomerID] をクリックします。[プロパティ] で、[識別子へのマップ] チェック ボックスをクリックします。

    図 13. [識別子へのマップ] のクリック

    [識別子へのマップ] をクリックする

    [完了] をクリックします。

  21. [データ ソース エクスプローラー] で、[GetCustomerByID] を右クリックし、["リストの読み取り" 操作の新規作成] をクリックします。

    図 14. "リストの読み取り" 操作の新規作成

    新しいアイテムの読み取り操作

  22. ウィザードの [操作のプロパティ] ダイアログで、[次へ] をクリックします。

  23. ウィザードの [入力パラメーター構成] ダイアログで、[データ ソース要素] の [CustomerID] をクリックし、[プロパティ] の [識別子へのマップ] チェック ボックスをクリックします。

    図 15. 識別子へのマップ

    識別子へのマップ

    [次へ] をクリックします。

  24. ウィザードの [戻り値パラメーター構成] ダイアログで、[データ ソース要素] の [CustomerID] をクリックし、[プロパティ] の [識別子へのマップ] チェック ボックスをクリックします。

    図 16. 識別子へのマップ

    識別子へのマップ

    [完了] をクリックします。

  25. ツール バーの [保存] をクリックします。SharePoint Designer によって外部コンテンツ タイプが保存されます。

    図 17. [保存] のクリック

    [保存] ボタンをクリックする

  26. リボンの [リストとフォームの作成] をクリックします。

    図 18. [リストとフォームの作成] のクリック

    [リストとフォームの作成] ボタンをクリックする

  27. [Customer のリストおよびフォームの作成] ダイアログ ボックスの [リスト名] フィールドに「Customers」と入力します。[OK] をクリックします。

    図 19. [リスト名] フィールドに「Customers」と入力

    [リスト名] フィールドに顧客を入力する

  28. 次に、以前作成した外部コンテンツ タイプに対してクレームを有効にする必要があります。ナビゲーション ウィンドウの [顧客] (コンテンツ タイプ名) をクリックします。

    図 20. 顧客への移動

    顧客への移動

  29. リボンの [接続プロパティの編集] をクリックします。

    図 21. [接続プロパティの編集] のクリック

    [接続プロパティの編集] ボタンをクリックする

  30. [接続のプロパティ] ダイアログ ボックスで [クレーム ベース認証を使用します] をクリックします。[OK] をクリックします。

    図 22. [接続のプロパティ] ダイアログ ボックス

    [接続のプロパティ] ダイアログ ボックス

  31. 次に、以前作成した外部コンテンツ タイプの適切なアクセス許可を割り当てる必要があります。SharePoint Foundation 2010 を実行しているコンピューターで、[SharePoint サーバーの全体管理] を起動します。

  32. [アプリケーション構成の管理] で [サービス アプリケーションの管理] をクリックします。

  33. [サービス アプリケーション] ページで [Business Data Connectivity Service] をクリックします。

    図 23. SharePoint サーバーの全体管理のサービス アプリケーション

    SharePoint サーバーの全体管理のサービス アプリケーション

  34. 以前作成したコンテンツ タイプの横にあるチェック ボックスをクリックし、[オブジェクトの権限の設定] をクリックします。

    図 24. オブジェクトの権限の設定

    [オブジェクトの権限の設定] ボタン

  35. [オブジェクトの権限の設定] ダイアログ ボックスで、アクセス許可を設定するユーザーのエイリアスを、アカウントまたはグループを追加できるフィールドに入力します。私の場合は、自分のエイリアス「ericwhit」を入力します。[名前の確認]、[追加] の順にクリックします。

    図 25. エイリアスの入力と名前の確認

    エイリアスとチェック名を入力する

  36. [追加] をクリックした後は、そのユーザーにこのコンテンツ タイプに対するすべてのアクセス許可を付与します。

    図 26. ユーザーのアクセス許可の指定

    ユーザーの権限を指定する

  37. [オブジェクトの権限の設定] ダイアログ ボックスで、アカウントまたはグループを追加できるフィールドに「すべての認証されたユーザー」と入力します。[名前の確認]、[追加] の順にクリックします。

    図 27. エイリアスの入力と名前の確認

    エイリアスとチェック名を入力する

  38. [実行] チェック ボックスをクリックして、認証されたユーザーに外部コンテンツ タイプに対する実行アクセス許可を付与します。[OK] をクリックします。

    図 28. 認証されたユーザーのアクセス許可の指定

    認証されたユーザーの権限を指定する

    これで、外部コンテンツ タイプがクレーム ベース認証を使用するように正しく設定されました。

  39. ブラウザーを使用して、SharePoint サイトを閲覧します。[顧客] リストを開くと、外部コンテンツ タイプによって Web サービスから取得されたデータが表示されるはずです。

    図 29. Web サービスからの取得データが含まれる外部リスト

    Web サーバーのデータが含まれる外部リスト

  40. 最後の手順として、Web サービスが ID クレームにアクセスできること、またその ID クレームが正しく返されることを検証できます。Web サービスをホストしているコンピューターで、ログ ファイル C:\MyWebService\log.txt を開きます。このログ ファイルには、外部コンテンツ タイプの直近のアクセスを示すエントリが含まれているはずです。また、リストにアクセスしたユーザーの ID を確認できます。この ID はクレームから取得されたものです。

    図 30. クレームから取得された ID

    クレームから取得された ID

    ID をクレームとして取得すると、ID の前に "0#.w|" という文字列が追加されます。これは、エンコードされた SharePoint ID クレーム値です。このプレフィックスは、Windows クレーム プロバイダーによって発行されたものであることを示します。

まとめ

このシリーズの記事では、クレームを使用する Web サービスを作成しました。また、この Web サービスを利用するように Business Connectivity Services を構成できました。追加のユーザー操作なしに、またユーザー資格情報を Secure Store に保存することなく、元のユーザー ID を Web サービスでも利用できるようにしました。この Web サービスでは、クレームを参照し、そのクレームに基づいて、保護されたリソースへのアクセス権を付与できます。

これらの記事では、クレームを使用する Web サービスへの接続の基本事項のみを説明しました。より高度なシナリオでは、Web サービスによってセキュリティ グループ情報にクレームとしてアクセスし、そのセキュリティ グループに基づいて特定のリソースへのアクセス権を付与することもできます。

Web サービスに対するクレーム ベース認証により、セキュリティで保護された方法で他のリソースにアクセスするように SharePoint Foundation 2010 または SharePoint Server 2010 を構成した場合に通常見られるダブル ホップの問題は解消されます。

その他の技術情報