次の方法で共有


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

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 回クリックして、[メンバー] ペインに安全なコントロール エントリを 2 つ (ボタン用とテキスト ボックス用) 追加します。

  5. 1 つ目の安全なコントロール エントリをクリックして、[安全] プロパティを [False] に変更し、[型の名前] プロパティを "Button1" に変更し、[スクリプトに対して安全] プロパティを [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. この例では、[配置ターゲット] オプションは "GlobalAssemblyCache" のままにしておきます。

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

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

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

    プロパティ名

    [名前空間]

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

    [型の名前]

    Button1

    [アセンブリ名]

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

    [安全]

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

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

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

    注意

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

  12. Tab キーを押して、安全なコントロール エントリをもう 1 つ作成します。

  13. もう一度 [新しい項目を追加するにはここをクリックします] をクリックします。

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

    プロパティ名

    [名前空間]

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

    [型の名前]

    TextBox1

    [アセンブリ名]

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

    [安全]

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

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

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

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

参照

概念

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

その他の技術情報

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