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

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

web.config ファイルの設定変更」および「Registering a Web Part Assembly as a Safe Control (Web パーツ アセンブリを安全なコントロールとして登録する)

重要 : 重要

以降の手順は、単に説明のために記載されています。コントロールを安全としてマークするのは、安全であることがわかっている場合だけにしてください。

[安全なコントロール エントリ] プロパティでの安全なコントロールの指定

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

  1. 可視 Web パーツ プロジェクトを含む SharePoint ソリューションを作成します。

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

  3. Web パーツの [安全なコントロール エントリ] プロパティに 2 つのエントリを追加します。これを行うには、[プロパティ] のウィンドウの [安全なコントロール エントリ] のプロパティの横にある省略記号 (ASP.NET モバイル デザイナー楕円) ボタンをクリックします。

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

  4. [安全なコントロール エントリ] のダイアログ ボックスで、[メンバー] のウィンドウに 2 個の安全なコントロール エントリを追加するに 追加 回のボタンを選択する: ボタンの 1 とテキスト ボックスの場合は 1。

  5. 一つ目の安全なコントロール エントリを選択し、falseに **[ボタン1]**に [セーフ][型名] のプロパティ、プロパティ、および false[スクリプトに対して安全] のプロパティの値を変更します。

    これにより、このボタン コントロールは、安全でないコントロールとして指定されました。

  6. リストの 2 番目の安全なコントロール エントリを選択します。true として [セーフ] のプロパティの値のままにして、[TextBox1][型名] のプロパティと true[スクリプトに対して安全] のプロパティを設定します。

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

  7. ダイアログ ボックスを閉じるに [OK] のボタンをクリックします。

パッケージ デザイナーでの安全なコントロールの指定

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

  1. 可視 Web パーツ プロジェクトを含む SharePoint ソリューションを作成します。

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

    後ほど使用するため、コントロールの名前空間を控えておきます。

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

  4. SharePoint ソリューションをもう 1 つ作成します。

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

  6. デザイナーをパッケージ化しますでは、[詳細設定] のタブをクリックします。

  7. **[追加アセンブリ]**の下に、追加 のボタンを選択し、リストから [既存のアセンブリの追加] を選択します。

  8. [既存のアセンブリの追加] のダイアログ ボックスで、**[ソース パス]**の横にある省略記号 (ASP.NET モバイル デザイナー楕円) ボタンをクリックします。

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

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

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

  11. [安全なコントロール] ボックスに、新しい項目を追加するには、ここをクリックしてください のボタンをクリックします。

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

    プロパティ名

    名前空間

    コントロールの完全修飾名前空間 ("BdcModelProject1.VisualWebPart1" など)。

    [型の名前]

    Button1

    [アセンブリ名]

    厳密なアセンブリ名 ("Microsoft.Office.SharePoint.ClientExtensions, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" など)。

    [安全]

    [安全] チェック ボックスをオフにします。

    [スクリプトに対して安全]

    [スクリプトに対して安全] チェック ボックスをオフのままにします。

    [!メモ]

    パッケージ デザイナー[詳細設定] タブを使用して追加したアセンブリでは、[アセンブリ名] の値をトークンにすることはできません。厳密な名前付きアセンブリを指定する必要があります。詳細については、「Creating and Using Strong-Named Assemblies (厳密な名前付きアセンブリの作成と使用)」を参照してください。

  13. 別の安全なコントロール エントリを作成するには、Tab キーを選択します。

  14. 新しい項目を追加するには、ここをクリックしてください のボタンをもう一度クリックします。

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

    プロパティ名

    名前空間

    コントロールの完全修飾名前空間 ("BdcModelProject1.VisualWebPart1" など)。

    [型の名前]

    TextBox1

    [アセンブリ名]

    厳密なアセンブリ名 ("Microsoft.Office.SharePoint.ClientExtensions, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" など)。

    [安全]

    [安全] チェック ボックスをオンにします。

    [スクリプトに対して安全]

    [スクリプトに対して安全] チェック ボックスをオンにします。

  16. Tab キーを選択して、ダイアログ ボックスを閉じるに [OK] のボタンをクリックします。

参照

概念

プロジェクト項目でのパッケージ化と配置の情報の提供

その他の技術情報

SharePoint ソリューションのパッケージ化と配置