As Peças Web que dependem de WPProperty podem deixar de funcionar corretamente no SharePoint Server (KB5003528)

Aplica-se A
SharePoint Server 2016 SharePoint Server 2019 SharePoint Foundation 2013 SP1

Sintomas

Uma Peça Web que depende de WPProperty pode deixar de funcionar corretamente e gera etiquetas de eventos a7wm1 em registos uls (Unified Logging System) do SharePoint.

Causa

Este problema ocorre porque o SharePoint Server requer agora que os farms declarem os tipos de .NET que têm permissão para aceder a WPProperty no ficheiro web.config. Os tipos de .NET que não estão listados não terão acesso a WPProperty como precaução de segurança.

Resolução

Para resolver este problema, instale uma das seguintes atualizações:

Para que a Peça Web funcione conforme esperado, siga os seguintes passos para declarar os tipos de .NET afetados como autorizados a aceder a WPProperty no ficheiro web.config.

Importante

Só permita que os tipos de .NET acedam a WPProperty depois de confirmar que é seguro fazê-lo.

  1. Abra o ficheiro web.config da sua aplicação Web em cada servidor no farm do SharePoint.

  2. Localize a secção configuração/SharePoint/SafeMode .

  3. Adicione uma secção AllowedWPProperties se ainda não existir.

  4. Adicione um novo elemento AllowedWPProperty com atributos type e propertyName para representar o tipo que deve ter permissão para aceder a 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. Guarde a alteração no ficheiro web.config.

Para identificar os valores corretos para os atributos type e propertyName , consulte o registo ULS da etiqueta de evento a7wm1 e anote a entrada de registo. Por exemplo:
 
"WPProperty has been blocked for security reason. blocked AssemblyQualifiedName is "<BlockedWPPropertyTypeName>, <allowedWPPropertyAssemblyName>, <AssemblyVersion>, <AssemblyLanguageSetting>, <AssemblyPublicKey>" | blocked property name is "<blocked WPProperty name>",
 
Para permitir que este tipo aceda a WPProperty, defina o atributo AllowedWPPProperty type como o valor assemblyQualifiedName bloqueado e defina o atributo propertyName para o valor de nome de propriedade bloqueado.

Histórico de alterações

A tabela seguinte resume algumas das alterações mais importantes a este tópico.

Data Descrição
14 de setembro de 2021 Foram adicionadas duas atualizações na secção "Resolução".