Sintomi
Alcuni tipi che ereditano da IDictionary vengono bloccati dalla deserializzazione dopo l'applicazione degli aggiornamenti della sicurezza di settembre 2024 per SharePoint Server. Quando si verifica questo problema, i seguenti messaggi di errore e tag evento "4nsby" o "4nss4" vengono registrati nei log del sistema di registrazione unificato di SharePoint:
È stato rilevato un tipo IDictionary non supportato. Tipo:> tipo <, assieme:> <assembly
Causa
Questo problema si verifica perché il tipo non è nell'elenco di deserializzazione consentito.
Soluzione alternativa
Se il problema si verifica nel processo di w3wp.exe, l'amministratore della farm può risolvere il problema aggiungendo i tipi bloccati all'elenco di attendibilità nel file di Web.config, ma solo se si è certi che questi tipi siano sicuri.
A questo scopo, aggiungere un nuovo elemento AllowedItem con il nome AllowedIDictionaryType e specificare una proprietà Type o Assembly . Questo elemento deve essere aggiunto nella sezione configuration/SharePoint/SafeMode/AllowedListItems del file di Web.config. Ecco un esempio:
<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>