Simptome
Unele tipuri care moștenesc de la IDictionary sunt blocate de la deserializare după aplicarea actualizărilor de securitate din septembrie 2024 pentru SharePoint Server. Atunci când apare această problemă, următorul mesaj de eroare și etichetele de eveniment "4nsby" sau "4nss4" sunt înregistrate în jurnalele Sistemului unificat de înregistrare în jurnal SharePoint (ULS):
Notă
S-a detectat un tip de IDicționar neacceptat. Tip: <Tip>, Asamblare: <Asamblare>
Cauză
Această problemă apare deoarece tipul nu se află în lista de permisiuni pentru deserializări.
Soluție
Dacă problema apare în procesul w3wp.exe, administratorul de fermă o poate rezolva, adăugând tipurile blocate în lista de încredere din fișierul Web.config, dar numai dacă sunteți sigur că aceste tipuri sunt sigure.
Pentru a face acest lucru, adăugați un nou element AllowedItem cu numele AllowedIDictionaryType și specificați o proprietate Type sau Assembly . Acest element ar trebui să fie adăugat sub secțiunea configuration/SharePoint/SafeMode/AllowedListItems din fișierul Web.config. Urmează un exemplu:
<SafeMode
MaxControls = "200"
CallStack = "false"
DirectFileDependencies ="10"
TotalFileDependencies = "250"
AllowPageLevelTrace = "false"
ControlCompatMode="false"
>
<PageParserPaths>
</PageParserPaths>
<AllowedListItems>
<AllowedItem Name="AllowedIDictionaryType" Type="Microsoft.SharePoint.Portal.WebControls.RSSAggregatorWebPart, Microsoft.SharePoint.Portal, Version=15.0.0.0, Culture=neutral, PublicKeyToken=xxxxxx"/>
<AllowedItem Name="AllowedIDictionaryType" Assembly="System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=xxxxxx"/>
</AllowedListItems>
</SafeMode>