Síntomas
Es posible que un elemento web que depende de WPProperty deje de funcionar correctamente y genere etiquetas de evento a7wm1 en los registros del sistema de registros unificados de SharePoint (ULS).
Causa
Este problema se produce porque SharePoint Server ahora requiere que las granjas de servidores declaren los tipos .NET que tienen acceso a WPProperty en el archivo web.config. Los tipos .NET que no aparecen en la lista no tendrán acceso a WPProperty como medida de seguridad.
Solución
Para resolver este problema, instale una de las siguientes actualizaciones:
Para que el elemento web funcione del modo esperado, siga los pasos siguientes para declarar los tipos .NET afectados de modo que tengan permiso para acceder a WPProperty en el archivo web.config.
Importante: Solo permita que los tipos .NET accedan a WPProperty después de confirmar que es seguro hacerlo.
-
Abra el archivo web.config de la aplicación web en cada servidor de su granja de servidores SharePoint.
-
Busque la sección configuration/SharePoint/SafeMode.
-
Agregue una sección AllowedWPProperties si aún no existe.
-
Agregue un nuevo elemento AllowedWPProperty con los atributos type y propertyName para representar el tipo al que se debería permitir el acceso 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> -
Guarde los cambios en el archivo web.config.
Para identificar los valores correctos para los atributos type y propertyName, consulte el registro ULS de la etiqueta de evento a7wm1 y anote la entrada de registro. Por ejemplo:
"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 acceda a WPProperty, establezca el atributo AllowedWPPProperty type en el valor bloqueado de AssemblyQualifiedName y establezca el atributo propertyName en el valor bloqueado de nombre de propiedad.
Historial de cambios
En la tabla siguiente se resumen algunos de los cambios más importantes de este tema.
Fecha |
Descripción |
---|---|
Martes, 14 de septiembre de 2021 |
Se añadieron dos actualizaciones en la sección "Solución". |