方法: コントロールを安全なコントロールとしてマークするHow to: Mark controls as safe controls

セキュリティを強化するために、SharePoint では、スクリプトインジェクションや Web コントロールに対して保護されている Web コントロールを区別しています。For security, SharePoint differentiates between Web controls that are protected against script injection and Web controls that are not. 保護されたコントロール (または 安全なコントロール) は、信頼されていないユーザーがアクセスできます。Protected controls, or safe controls, can be accessed by untrusted users. パッケージにアセンブリを追加するときに、SharePoint プロジェクトアイテムの "安全なコントロールエントリ" プロパティまたは パッケージデザイナー で、コントロールを安全としてマークできます。You can mark controls as safe in the Safe Control Entries property of a SharePoint project item or in the Package Designer when you add an assembly to the package. 詳細については、「For more information, see

重要

これらの手順は、説明を目的としています。These procedures are for illustrative purposes. コントロールが安全であることが確実である場合にのみ、コントロールを安全にマークします。Mark controls safe only if you are certain that they are secure.

安全なコントロールエントリのプロパティに安全なコントロールをマークするMarking Safe Controls in the Safe Control Entries Property

セーフコントロールエントリのプロパティでコントロールをセーフまたは安全としてマークするにはTo mark controls as safe or unsafe in the safe control entries property

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

  2. 2つのコントロールを Web パーツに追加します。テキストボックスとボタンです。Add two controls to the Web part: a text box and a button. これらの名前はそれぞれ既定値の TextBox1 と Button1 のままにします。Leave the names at their default values, TextBox1 and Button1, respectively.

  3. 2つのエントリを Web パーツの " 安全なコントロールエントリ " プロパティに追加します。Add two entries to the Web part's Safe Control Entries property. これを行うには、[プロパティ] ウィンドウの [セーフコントロールエントリ] プロパティの横にある省略記号 (ASP.NET Mobile Designer 楕円) ボタンをクリックします。To do this, choose the ellipsis (ASP.NET Mobile Designer ellipse) button next to the Safe Control Entries property in the Properties window.

    [ 安全なコントロールエントリ ] ダイアログボックスが表示されます。The Safe Control Entries dialog box appears.

  4. [ セーフコントロールエントリ ] ダイアログボックスで、[ 追加 ] ボタンを2回クリックして、[ メンバー ] ウィンドウに2つの安全なコントロールエントリを追加します。1つはボタン用、もう1つはテキストボックス用です。In the Safe Control Entries dialog box, choose the Add button twice to add two safe control entries to the Members pane: one for the button and one for the text box.

  5. 最初の安全なコントロールエントリを選択してから、 safe プロパティの値を Falseに、 Type Name プロパティを Button1に、その 安全をスクリプトプロパティに対して falseに変更します。Choose the first safe control entry, and then change the value of its Safe property to False, its Type Name property to Button1, and its Safe Against Script property to False.

    このステップでは、ボタンコントロールが安全でないコントロールとして識別されます。This step identifies the button control as an unsafe control.

  6. 一覧で2番目のセーフコントロールエントリを選択します。Choose the second safe control entry in the list. [ セーフ ] プロパティの値を [ true ] のままにして、[ 型名 ] プロパティを [ TextBox1 ] に設定し、[ スクリプト ] プロパティを [ true] に設定します。Leave the value of its Safe property as True and set its Type Name property to TextBox1 and its Safe Against Script property to True.

    テキストボックスコントロールは、スクリプトインジェクションに対して安全なコントロールとしてマークされるようになりました。The text box control is now marked as a control that is safe against script injection.

  7. [OK] をクリックしてダイアログ ボックスを閉じます。Choose the OK button to close the dialog box.

パッケージデザイナーでのセーフコントロールのマーク付けMarking Safe Controls in the Package Designer

パッケージデザイナーでコントロールを safe または unsafe としてマークするにはTo mark controls as safe or unsafe in the Package Designer

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

  2. 2つのコントロールを Web パーツに追加します。テキストボックスとボタンです。Add two controls to the Web part: a text box and a button. これらの名前はそれぞれ既定値の TextBox1 と Button1 のままにします。Leave the names at their default values, TextBox1 and Button1, respectively.

    コントロールの名前空間は、後で使用されるため、メモしておいてください。Take note of the namespace of the control because it is used later.

  3. メニューバーで、 [ビルド][ソリューションのビルド] の順に選択し、 > Build Solutionプロジェクトをビルドします。On the menu bar, choose Build > Build Solution to build the project.

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

  5. ソリューションエクスプローラーで、パッケージファイルのショートカットメニューを開き、[開く] をクリックしてパッケージデザイナーを開きます。In Solution Explorer, open the shortcut menu for the Package.Package file, and then choose Open to open the Package Designer.

  6. パッケージデザイナーで、[詳細設定] タブを選択します。In the Package Designer, choose the Advanced tab.

  7. [追加の アセンブリ] の [ 追加 ] ボタンをクリックし、一覧から [既存の アセンブリの追加 ] を選択します。Under Additional Assemblies, choose the Add button, and then choose Add Existing Assembly from the list.

  8. [既存のアセンブリの追加] ダイアログボックスで、[ソースパス] の横にある省略記号 (ASP.NET Mobile Designer 楕円) ボタンを選択します。In the Add Existing Assembly dialog box, choose the ellipsis (ASP.NET Mobile Designer ellipse) button next to Source Path.

  9. 手順 1. で作成した SharePoint ソリューションからアセンブリを選択し、[ 開く ] をクリックします。Choose the assembly from the SharePoint solution that you created in Step 1, and then choose the Open button.

  10. この例では、 配置ターゲット オプションを GlobalAssemblyCache のままにします。For this example, leave the Deployment Target option as GlobalAssemblyCache.

    この手順により、アセンブリがシステムグローバルアセンブリキャッシュ (GAC) に配置されます。This step causes the assembly to deploy to the system Global Assembly Cache (GAC). アセンブリを Web アプリケーション (Bin) フォルダーに配置する場合は、代わりにそのオプションを選択します。If you want the assembly to deploy to the Web application (Bin) folder, select that option instead. 詳細については、「 SharePoint Foundation での Web パーツの配置」を参照してください。For more information, see Deploying Web Parts in SharePoint Foundation.

  11. [ セーフコントロール ] ボックスで、 [ここをクリックして新しい項目を追加 します] ボタンを選択します。In the Safe Controls box, choose the Click here to add a new item button.

  12. 次の表のプロパティの値を入力します。Enter the values for the properties from the following table.

    プロパティ名Property Name Value
    名前空間Namespace コントロールの完全修飾された名前空間 ( BdcModelProject1など)。The fully-qualified namespace for the control, such as BdcModelProject1.VisualWebPart1.
    種類名Type Name ボタン 1Button1
    アセンブリ名Assembly Name 厳密なアセンブリ名。たとえば、14.0.0.0、Culture = ニュートラル、PublicKeyToken = 71e9bce111eのように、厳密なアセンブリ名を指定します。A strong assembly name, such as: Microsoft.Office.SharePoint.ClientExtensions, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c.
    SafeSafe [ セーフ ] チェックボックスをオフにします。Clear the Safe check box.
    スクリプトに対して安全Safe Against Script [ スクリプトに対して安全 ] チェックボックスをオフのままにします。Leave the Safe Against Script check box clear.

    注意

    パッケージデザイナー[詳細設定] タブで追加したアセンブリのアセンブリ名の値をトークンにすることはできません。厳密な名前のアセンブリである必要があります。The Assembly Name value for assemblies added through the Advanced tab of the Package Designer cannot be a token, it must be a strongly-named assembly. 詳しくは、「厳密な名前付きアセンブリの作成と使用」をご覧ください。For more information, see Creating and Using Strong-Named Assemblies.

  13. Tabキーを押して、別の安全なコントロールエントリを作成します。Choose the Tab key to create another safe control entry.

  14. [ここをクリックして新しい項目を追加します] ボタンをもう一度クリックします。Choose the Click here to add a new item button again.

  15. 次の表のプロパティの値を入力します。Enter the values for the properties from the following table.

    プロパティ名Property Name Value
    名前空間Namespace コントロールの完全修飾された名前空間 ( BdcModelProject1など)。The fully-qualified namespace for the control, such as BdcModelProject1.VisualWebPart1.
    種類名Type Name TextBox1TextBox1
    アセンブリ名Assembly Name 厳密なアセンブリ名。たとえば、14.0.0.0、Culture = ニュートラル、PublicKeyToken = 71e9bce111eのように、厳密なアセンブリ名を指定します。A strong assembly name, such as: Microsoft.Office.SharePoint.ClientExtensions, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c.
    SafeSafe [ セーフ ] チェックボックスをオンにします。Select the Safe check box.
    スクリプトに対して安全Safe Against Script [ スクリプトに対して安全 ] チェックボックスをオンにします。Select the Safe Against Script check box.
  16. Tabキーを選択し、[ OK ] をクリックしてダイアログボックスを閉じます。Choose the Tab key, and then choose the OK button to close the dialog box.

関連項目See also