Oznaki
Niektóre typy dziedziczące po funkcji IDictionary są blokowane przed deserizalizacją po zastosowaniu aktualizacji zabezpieczeń z września 2024 r. dla programu SharePoint Server. W przypadku wystąpienia tego problemu w dziennikach ujednoliconego systemu rejestrowania (ULS) programu SharePoint jest rejestrowany następujący komunikat o błędzie i tagi zdarzeń "4nsby" lub "4nss4":
Wykryto nieobsługiwanie typu IDictionary. Typ: <Typ>, Zestaw: <>
Przyczyna
Ten problem występuje, ponieważ typ nie znajduje się na liście dozwolonych deserializacji.
Obejście
Jeśli ten problem wystąpi w procesie w3wp.exe, administrator farmy może obejść ten problem, dodając blokowane typy do listy zaufanych w pliku Web.config, ale tylko wtedy, gdy masz pewność, że te typy są bezpieczne.
W tym celu dodaj nowy element AllowedItem o nazwie AllowedIDictionaryType i określ właściwość Type ( Typ ) lub Assembly (Zestaw ). Ten element należy dodać w sekcji konfiguracji/SharePoint/SafeMode/AllowedListItems w pliku Web.config. Poniżej przedstawiono przykład:
<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>