Sintomas
Depois que você instala uma das seguintes atualizações, algumas páginas fantasmas no Microsoft SharePoint não são renderizadas:
- Descrição da atualização de segurança do SharePoint Server 2019: 8 de setembro de 2020 (KB 4484505)
- 21 de setembro de 2020, atualização para o SharePoint Server 2019 (KB4461512)
- Descrição da atualização de segurança para o SharePoint Enterprise Server 2016: 8 de setembro de 2020 (KB 4484506)
- Descrição da atualização de segurança do SharePoint Foundation 2013: 8 de setembro de 2020 (KB 4484525)
- Descrição da atualização de segurança do SharePoint Foundation 2010: 8 de setembro de 2020 (KB 4486667)
Por exemplo, as páginas do portal do MIM (Microsoft Identity Manager) e algumas páginas personalizadas que são implantadas por meio da Solução do SharePoint não são renderizadas.
Além disso, um ou mais dos cenários a seguir podem ocorrer.
Cenário 1
A página fantasma bloqueada exibe uma das seguintes mensagens de erro:
Observação
O atributo "autoeventwireup" não é permitido nesta página.
O atributo "enablesessionstate" não é permitido nesta página.
Blocos de código não são permitidos neste arquivo.
O manipulador de eventos "OnSelectedIndexChanged" não é permitido nesta página.
Observação O evento na última mensagem de erro também pode ser outro evento, como "OnClick".
Cenário 2
A página fantasma bloqueada exibe a seguinte mensagem de erro:
Observação
UnsafeControlException: um Controle de Web Part ou Web Form nesta Página não pode ser exibido ou importado. O tipo não pôde ser encontrado ou não está registrado como seguro.
Cenário 3
A página fantasma bloqueada exibe a seguinte mensagem de erro:
Observação
O arquivo referenciado '/_layouts/somedirectory/affectedusercontrol.ascx' não é permitido nesta página.
Causa
As páginas fantasmas são armazenadas no sistema de arquivos. Seu nível de segurança é aprimorado proibindo scripts do lado do servidor e controles não seguros. A renderização de uma página fantasma poderá ser bloqueada se as seguintes condições forem verdadeiras:
- A página fantasma contiver código embutido ou script do lado do servidor.
- O tipo code-behind ou o tipo web part não é registrado como seguro.
Resolução para o Cenário 1
Para resolve esse problema, adicione um novo elemento PageParserPath que tenha um atributo VirtualPath ao arquivo Web.config no elemento configuration/SharePoint/SafeMode/PageParserPaths.
Por exemplo, você recebe a seguinte mensagem de erro:
"O atributo 'autoeventwireup' não é permitido nesta página."
Nesse caso, você pode adicionar um elemento PageParserPath, da seguinte maneira:
<SafeMode MaxControls="200" CallStack="false" DirectFileDependencies="15" TotalFileDependencies="250" AllowPageLevelTrace="false">
<PageParserPaths>
<PageParserPath VirtualPath="/<relativepath>/page.aspx" CompilationMode="Always" AllowServerSideScript="true" AllowUnsafeControls="true"/>
</PageParserPaths>
</SafeMode>
Se todas as páginas no mesmo diretório virtual tiverem que ser desbloqueadas, você poderá usar um elemento PageParserPath , da seguinte maneira:
<SafeMode MaxControls="200" CallStack="false" DirectFileDependencies="15" TotalFileDependencies="250" AllowPageLevelTrace="false">
<PageParserPaths>
<PageParserPath VirtualPath="/<relativepath>/*" CompilationMode="Always" AllowServerSideScript="true" AllowUnsafeControls="true" IncludeSubFolders="True"/>
</PageParserPaths>
</SafeMode>
Observação
- VirtualPath é o caminho da página bloqueada.
- VirtualPath deve se referir a uma página fantasma e não pode ser desconvertido de fantasma por nenhum usuário ou a um diretório que contenha tal página.
- VirtualPath deve se referir a uma página que não faça referência a outra página ou a uma página master que possa ser desconvertida de fantasma, ou a um diretório que não contenha tal página ou página master.
- DirectFileDependencies indica o número de dependências de arquivo direto permitidas. Se você receber uma mensagem de erro como "o número de dependências de arquivo direto permitido excede o limite", altere esse valor.
Resolução do Cenário 2
Para resolve esse problema, adicione um novo elemento SafeControls para determinado tipo, namespace e nome forte do assembly ao arquivo Web.config no elemento configuration/SharePoint/SafeControls, conforme descrito no elemento SafeControls (Solução). Em seguida, defina o atributo Safe como TRUE.
Para obter mais informações sobre o formato dos valores dos atributos no elemento SafeControls, consulte a tabela na etapa 12 da seção "Marcação dos Controles Seguros no Designer de Pacotes" de Instruções: marcar controles como controles seguros.
Resolução do Cenário 3
Para resolve esse problema, adicione um novo elemento SafeControls que usa o atributo Src ao arquivo Web.config no elemento configuration/SharePoint/SafeControls.
Por exemplo, você recebe a seguinte mensagem de erro:
"O arquivo referenciado '/_layouts/somedirectory/affectedusercontrol.ascx' não é permitido nesta página."
Nesse caso, você pode adicionar o elemento SafeControls , como nos seguintes exemplos:
< SafeControls>
<SafeControl Src="~/_layouts/somedirectory/*" IncludeSubFolders="True" Safe="True" AllowRemoteDesigner="True" SafeAgainstScript="True" />
</SafeControls>
< SafeControls><SafeControl src="~/_layouts/somedirectory/*" includeSubFolders="true" safe="true" /></SafeControls>