Symptômes
Un composant WebPart qui dépend de WPProperty peut ne plus fonctionner correctement et générer des balises d’événement a7wm1 dans les journaux du système de journalisation unifiée (ULS) SharePoint.
Cause
Ce problème se produit parce que SharePoint Server exige désormais que les batteries de serveurs déclarent 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 :
- Description de la mise à jour de sécurité pour SharePoint Server 2019 datée du 14 septembre 2021 (KB5002018)
- Description de la mise à jour de sécurité pour SharePoint Enterprise Server 2016 datée du 8 juin 2021 (KB5001946)
- Description de la mise à jour de sécurité pour SharePoint Foundation 2013 datée du 14 septembre 2021 (KB5002024)
Pour que le composant WebPart fonctionne comme prévu, effectuez les étapes suivantes pour déclarer le ou les types .NET affectés comme autorisés à accéder à WPProperty dans le fichier web.config.
Important
Autorisez uniquement les types .NET à accéder à WPProperty une fois que vous avez confirmé 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 les 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 pour les attributs type et propertyName , interrogez le journal ULS pour obtenir la balise d’événement a7wm1 et notez l’entrée du journal. 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 permettre à ce type d’accéder à WPProperty, définissez l’attribut de type AllowedWPPProperty sur la valeur de AssemblyQualifiedName bloquée et définissez l’attribut propertyName sur la valeur de nom de 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 ». |