Symptomen
Sommige typen die van IDictionary overnemen, worden geblokkeerd voor deserialisatie na het toepassen van beveiligingsupdates van september 2024 voor SharePoint Server. Wanneer dit probleem zich voordoet, worden het volgende foutbericht en gebeurtenistags '4nsby' of '4nss4' vastgelegd in ULS-logboeken (Unified Logging System) van SharePoint:
Er is een niet-ondersteund IDictionary-type gedetecteerd. Type: <Type>, Assembly: <Assembly>
Oorzaak
Dit probleem treedt op omdat het type niet voorkomt in de lijst met toegestane deserialisaties.
Tijdelijke oplossing
Als het probleem zich voordoet in het w3wp.exe proces, kan de farmbeheerder dit probleem omzeilen door de geblokkeerde typen toe te voegen aan de lijst met vertrouwde personen in het Web.config-bestand, maar alleen als u zeker weet dat deze typen veilig zijn.
Hiervoor voegt u een nieuw AllowedItem-element toe met de naam AllowedIDictionaryType en geeft u een type of een assembly-eigenschap op. Dit element moet worden toegevoegd onder de sectie configuration/SharePoint/SafeMode/AllowedListItems in het bestand Web.config. Hier volgt een voorbeeld:
<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>