Sintomas
Uma Web Part que depende de WPProperty pode não funcionar corretamente e gerar marcas de eventos a7wm1 em logs ULS (Unified Logging System) do SharePoint.
Causa
Esse problema ocorre porque agora o SharePoint Server requer que os farms declarem os tipos .NET que têm permissão para acessar WPProperty no arquivo web.config. Os tipos .NET que não estiverem 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 Web Part funcione conforme esperado, execute as etapas a seguir para declarar os tipos .NET afetados como tendo permissão para acessar WPProperty no arquivo web.config.
Importante: Só permita que tipos .NET acessem WPProperty depois de confirmar que é seguro fazer isso.
-
Abra o arquivo web.config de seu aplicativo Web em cada servidor no farm do SharePoint.
-
Encontre a seção configuration/SharePoint/SafeMode.
-
Adicione uma seção AllowedWPProperties, se ela ainda não existir.
-
Adicione um novo elemento AllowedWPProperty com atributos type e propertyName para representar o tipo que deve ter permissão para acessar 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>
-
Salve as alterações no arquivo web.config.
Para identificar os valores corretos para os atributos type e propertyName, consulte o log ULS da marca de evento a7wm1 e anote a entrada de log. 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 esse tipo acesse WPProperty, defina o atributo do tipo AllowedWPPProperty como o valor de AssemblyQualifiedName bloqueado e defina o atributo propertyName como o valor de nome da propriedade bloqueado.
Histórico de alterações
A tabela a seguir resume algumas das alterações mais importantes neste tópico.
Data |
Descrição |
---|---|
14 de setembro de 2021 |
Foram adicionadas duas atualizações na seção "Resolução". |