次の方法で共有


コントロールを安全なコントロールとしてマークする

セキュリティのために、SharePoint では、スクリプト インジェクションから保護されている Web コントロールと保護されていない Web コントロールが区別されます。 保護されたコントロール (安全なコントロール) は、信頼されていないユーザーがアクセスできます。 パッケージにアセンブリを追加するときに、SharePoint プロジェクト項目の "安全なコントロール エントリ" プロパティまたは "パッケージ デザイナー" で、コントロールを安全としてマークすることができます。 詳細については、「

重要

これらの手順は、説明を目的としています。 コントロールを安全としてマークするのは、コントロールが安全であることが確実である場合のみにしてください。

"安全なコントロール エントリ" プロパティでコントロールを安全としてマークする

"安全なコントロール エントリ" プロパティでコントロールを安全または安全でないとしてマークするには

  1. 視覚的 Web パーツ プロジェクトを使用して SharePoint ソリューションを作成します。

  2. 2 つのコントロール (テキスト ボックスとボタン) を Web パーツに追加します。 これらの名前は、それぞれ既定値の TextBox1 と Button1 のままにします。

  3. Web パーツの "安全なコントロール エントリ" プロパティに 2 つのエントリを追加します。 これを行うには、[プロパティ] ウィンドウの [安全なコントロール エントリ] プロパティの 横にある省略記号 (ASP.NET Mobile Designer ellipse ) ボタンを選択します。

    [安全なコントロール エントリ] ダイアログ ボックスが表示されます。

  4. [安全なコントロール エントリ] ダイアログ ボックスで、[追加] ボタンを 2 回クリックして、[メンバー] ウィンドウに 2 つの安全なコントロール エントリ (1 つはボタン用、もう 1 つはテキスト ボックス用) を追加します。

  5. 1 つ目の安全なコントロール エントリを選択してから、[安全] プロパティの値を [False] に、その [型名] プロパティを [Button1] に、その [スクリプトに対して安全] プロパティを [False] に変更します。

    この手順では、ボタン コントロールが安全でないコントロールとして識別されます。

  6. 一覧で 2 つ目の安全なコントロール エントリを選択します。 [安全] プロパティの値を [True] のままにして、その [型名] プロパティを [TextBox1] に設定し、その [スクリプトに対して安全] プロパティを [True] に設定します。

    これでテキスト ボックス コントロールが、スクリプト インジェクションに対して安全なコントロールとしてマークされました。

  7. [OK] をクリックしてダイアログ ボックスを閉じます。

パッケージ デザイナーでの安全なコントロールとしてマークする

パッケージ デザイナーでコントロールを安全または安全でないとしてマークするには

  1. 視覚的 Web パーツ プロジェクトを使用して SharePoint ソリューションを作成します。

  2. 2 つのコントロール (テキスト ボックスとボタン) を Web パーツに追加します。 これらの名前は、それぞれ既定値の TextBox1 と Button1 のままにします。

    コントロールの名前空間は、後で使用するため、メモしておいてください。

  3. メニュー バーで [ビルド]>[ソリューションのビルド] を選択してプロジェクトをビルドします。

  4. 別の SharePoint ソリューションを作成します。

  5. ソリューション エクスプローラーで、Package.Package ファイルのショートカット メニューを開き、[開く] をクリックしてパッケージ デザイナーを開きます。

  6. パッケージ デザイナーで、[詳細設定] タブを選択します。

  7. [追加アセンブリ][追加] ボタンを選択し、一覧の [既存のアセンブリの追加] を選択します。

  8. [既存のアセンブリの追加] ダイアログ ボックスで、[ソース パス] の横にある省略記号 (ASP.NET Mobile Designer ellipse) ボタンを選択します。

  9. 手順 1 で作成した SharePoint ソリューションからアセンブリを選択し、[開く] を選択します。

  10. この例では、[配置ターゲット] オプションを GlobalAssemblyCache のままにします。

    この手順により、アセンブリがシステムのグローバル アセンブリ キャッシュ (GAC) に配置されます。 アセンブリを Web アプリケーション (Bin) フォルダーに配置する場合は、代わりにそのオプションを選択します。 詳細については、「SharePoint Foundation で Web パーツを配置する」を参照してください。

  11. [安全なコントロール] ボックスで、[新しい項目を追加するにはここをクリックします] を選択します。

  12. 次の表のプロパティの値を入力します。

    プロパティ名
    Namespace コントロールの完全修飾名前空間 (BdcModelProject1.VisualWebPart1 など)。
    種類名 Button1
    アセンブリ名 厳密なアセンブリ名 (Microsoft.Office.SharePoint.ClientExtensions, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c など)。
    Safe [安全] チェック ボックスをオフにします。
    スクリプトに対して安全 [スクリプトに対して安全] チェック ボックスをオフのままにします。

    Note

    パッケージ デザイナー[詳細設定] タブで追加したアセンブリの [アセンブリ名] の値をトークンにすることはできません。これは厳密な名前付きアセンブリである必要があります。 詳しくは、「厳密な名前付きアセンブリの作成と使用」をご覧ください。

  13. Tab キーを押して、別の安全なコントロール エントリを作成します。

  14. [新しい項目を追加するにはここをクリックします] ボタンをもう一度選択します。

  15. 次の表のプロパティの値を入力します。

    プロパティ名
    Namespace コントロールの完全修飾名前空間 (BdcModelProject1.VisualWebPart1 など)。
    種類名 TextBox1
    アセンブリ名 厳密なアセンブリ名 (Microsoft.Office.SharePoint.ClientExtensions, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c など)。
    Safe [安全] チェック ボックスをオンにします。
    スクリプトに対して安全 [スクリプトに対して安全] チェック ボックスをオンにします。
  16. Tab キーを押してから、[OK] ボタンを選択してダイアログ ボックスを閉じます。