WPProperty に依存する Web パーツが SharePoint Server で正しく機能しない可能性がある (KB5003528)

適用先
SharePoint Server 2016 SharePoint Server 2019 SharePoint Foundation 2013 SP1

現象

WPProperty に依存する Web パーツが正しく動作しなくなり、SharePoint 統合ログ システム (ULS) ログに a7wm1 イベント タグが生成される可能性があります。

原因

この問題は、SharePoint Server でファームが、web.config ファイル内の WPProperty へのアクセスを許可されている .NET 型を宣言する必要があるために発生します。 一覧に記載されていない .NET 型は、セキュリティ上の予防措置として WPProperty にアクセスできません。

解決策

この問題を解決するには、次のいずれかの更新プログラムをインストールします。

Web パーツを期待どおりに動作させるには、次の手順に従って、影響を受ける .NET 型を、web.config ファイル内の WPProperty へのアクセスが許可されるように宣言します。

重要

安全であることを確認した後でのみ、.NET 型が WPProperty にアクセスできるようにします。

  1. SharePoint ファームの各サーバー上で、Web アプリケーションの web.config ファイルを開きます。

  2. configuration/SharePoint/SafeMode セクションを検索します。

  3. AllowedWPProperties セクションがまだ存在しない場合は、追加します。

  4. WPProperty へのアクセスを許可する必要がある型を表す、type 属性と propertyName 属性を持つ新しい AllowedWPProperty 要素を追加します。

    <SafeMode MaxControls="200" CallStack="false" DirectFileDependencies="15" TotalFileDependencies="250" AllowPageLevelTrace="false">
        <AllowedWPProperties>
            <AllowedWPProperty type="<allowedWPPropertyTypeName>,<allowedWPPropertyAssemblyName>, <AssemblyVersion>, <AssemblyLanguageSetting>, <AssemblyPublicKey>" propertyName="<Allow WPProperty property name>"/>
        </AllowedWPProperties>
    </SafeMode>

  5. web.config ファイルに対する変更を保存します。

type 属性と propertyName 属性の正しい値を特定するには、ULS ログに a7wm1 イベント タグを照会し、ログ エントリをメモします。 次に例を示します。
 
"WPProperty has been blocked for security reason. blocked AssemblyQualifiedName is "<BlockedWPPropertyTypeName>, <allowedWPPropertyAssemblyName>, <AssemblyVersion>, <AssemblyLanguageSetting>, <AssemblyPublicKey>" | blocked property name is "<blocked WPProperty name>",
 
この型が WPProperty にアクセスできるようにするには、AllowedWPPProperty 属性をブロックされた AssemblyQualifiedName の値に設定し、 propertyName 属性をブロックされたプロパティ名の値に設定します。

変更履歴

次の表は、このトピックに対する最も重要な変更の一部をまとめたものです。

日付 説明
2021 年 9 月 14 日 「解決方法」セクションに 2 つの更新プログラムが追加されました。