Symptômes
Un composant WebPart qui dépend de WPProperty peut ne plus fonctionner correctement et génère des balises d’événement a7wm1 dans les journaux ULS (Unified Logging System) de SharePoint.
Cause
Ce problème se produit car SharePoint Server requiert désormais des batteries de serveurs pour déclarer les types .NET autorisés à accéder à WPProperty dans le fichier web.config. Les types .NET qui ne sont pas répertoriés n’ont pas accès à WPProperty par mesure de sécurité.
Résolution
Pour résoudre ce problème, installez l’une des mises à jour suivantes :
Pour que le composant WebPart fonctionne comme prévu, effectuez les étapes suivantes pour déclarer les types .NET concernés comme étant autorisés à accéder à WPProperty dans le fichier web.config.
Important : Autorisez uniquement les types .NET à accéder à WPProperty après vous être assuré qu’il est sûr de le faire.
-
Ouvrez le fichier web.config de votre application web sur chaque serveur de la batterie SharePoint.
-
Recherchez la section configuration/SharePoint/SafeMode.
-
Ajoutez une section AllowedWPProperties, si elle n’existe pas déjà.
-
Ajoutez un nouvel élément AllowedWPProperty avec des attributs type et propertyName pour représenter le type qui doit être autorisé à accéder à WPProperty.
<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> -
Enregistrez la modification apportée au fichier web.config.
Pour identifier les valeurs correctes des attributs type et propertyName, recherchez la balise d’événement a7wm1 dans le journal ULS et notez l’entrée correspondante. Par exemple :
"WPProperty has been blocked for security reason. blocked AssemblyQualifiedName is "<BlockedWPPropertyTypeName>, <allowedWPPropertyAssemblyName>, <AssemblyVersion>, <AssemblyLanguageSetting>, <AssemblyPublicKey>" | blocked property name is "<blocked WPProperty name>",
Pour autoriser ce type à accéder à WPProperty, définissez l’attribut type de AllowedWPPProperty sur la valeur de AssemblyQualifiedName bloqué et définissez l’attribut propertyName sur la valeur de nom de la propriété bloquée.
Historique des modifications
Le tableau suivant récapitule certaines des modifications les plus importantes apportées à cette rubrique.
Date |
Description |
---|---|
14 septembre 2021 |
Ajout de deux mises à jour à la section « Résolution ». |