Τα Τμήματα Web που εξαρτώνται από το WPProperty ενδέχεται να μην λειτουργούν πλέον σωστά στον SharePoint Server (KB5003528)

Ισχύει για
SharePoint Server 2016 SharePoint Server 2019 SharePoint Foundation 2013 SP1

Συμπτώματα

Ένα Τμήμα Web που εξαρτάται από το WPProperty ενδέχεται να μην λειτουργεί πλέον σωστά και δημιουργεί ετικέτες συμβάντων a7wm1 στα αρχεία καταγραφής του Ενοποιημένου συστήματος καταγραφής του SharePoint (ULS).

Αιτία

Αυτό το ζήτημα παρουσιάζεται επειδή ο SharePoint Server απαιτεί τώρα συστοιχίες για να δηλώσετε τους τύπους .NET που επιτρέπεται να έχουν πρόσβαση στο WPProperty στο αρχείο web.config. Οι τύποι .NET που δεν παρατίθενται δεν θα έχουν πρόσβαση στο WPProperty ως προφύλαξη ασφαλείας.

Επίλυση

Για να επιλύσετε αυτό το πρόβλημα, εγκαταστήστε μία από τις ακόλουθες ενημερώσεις:

Για να λειτουργήσει το Τμήμα Web όπως αναμένεται, ακολουθήστε τα παρακάτω βήματα για να δηλώσετε τους επηρεαζόμενους τύπους .NET ως επιτρεπόμενους για πρόσβαση στο WPProperty στο αρχείο web.config.

Σημαντικό

Επιτρέψτε στους τύπους .NET να έχουν πρόσβαση στο WPProperty μόνο αφού έχετε επιβεβαιώσει ότι είναι ασφαλές να το κάνετε.

  1. Ανοίξτε το αρχείο web.config της εφαρμογής web σε κάθε διακομιστή της συστοιχίας SharePoint.

  2. Βρείτε την ενότητα configuration/SharePoint/SafeMode .

  3. Προσθέστε μια ενότητα AllowedWPProperties εάν δεν υπάρχει ήδη.

  4. Προσθέστε ένα νέο στοιχείο AllowedWPProperty με χαρακτηριστικά type και propertyName για να αντιπροσωπεύσετε τον τύπο στον οποίο πρέπει να επιτρέπεται η πρόσβαση στο 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>

  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 στην τιμή ονόματος αποκλεισμένης ιδιότητας.

Ιστορικό αλλαγών

Ο παρακάτω πίνακας συνοψίζει ορισμένες από τις πιο σημαντικές αλλαγές σε αυτό το θέμα.

Ημερομηνία Περιγραφή
14 Σεπτεμβρίου 2021 Προστέθηκαν δύο ενημερωμένες εκδόσεις στην ενότητα "Προτεινόμενη αντιμετώπιση".