Gäller för
SharePoint Server 2019 SharePoint Server 2016 SharePoint Foundation 2013 SP1 Microsoft SharePoint Foundation 2010 Service Pack 2

Symptom

När du har installerat någon av följande uppdateringar går det inte att återge vissa spöksidor i Microsoft SharePoint:

Till exempel återges inte Microsoft Identity Manager-portalsidor och vissa anpassade sidor som distribueras via SharePoint Solution.

Dessutom kan du uppleva en eller flera av följande scenarier.

Scenario 1

Den blockerade spöksidan visar något av följande felmeddelanden: 

  • Attributet "autoeventwireup" är inte tillåtet på den här sidan.

  • Attributet "enablesessionstate" är inte tillåtet på den här sidan.

  • Kodblock tillåts inte i den här filen.

  • Händelsehanteraren OnSelectedIndexChanged är inte tillåten på den här sidan.Obs! Händelsen i det senaste felmeddelandet kan också vara en annan händelse, till exempel "VidKlickning".

Scenario 2

Den blockerade spöksidan visar följande felmeddelande:

UnsafeControlException: En webbdel eller en webbformulärkontroll på den här sidan kan inte visas eller importeras. Det gick inte att hitta typen eller så är den inte registrerad som säker.

Scenario 3

Den blockerade spöksidan visar följande felmeddelande:

Den refererade filen "/_layouts/somedirectory/affectedusercontrol.ascx" är inte tillåten på den här sidan.

Orsak

Spöksidor lagras i filsystemet. Säkerhetsnivån förbättras genom att serverbaserade skript och osäkra kontroller används. En spöksida kan blockeras från rendering om följande villkor är sanna:

  • Den spöksidan innehåller radkod eller serverbaserade skript.

  • Kodtypen eller webbdelstypen är inte registrerad som säker.

Lösning för scenario 1

Lös problemet genom att lägga till ett nytt PageParserPath-element som har ett VirtualPath-attribut i Web.config-filen under elementet configuration/SharePoint/SafeMode/PageParserPaths.

Du får till exempel följande felmeddelande:

"Attributet 'autoeventwireup' är inte tillåtet på den här sidan."

I så fall kan du lägga till ett PageParserPath-element enligt följande:

<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>

Om alla sidor i samma virtuella katalog måste vara avblockerade kan du använda ett PageParserPath-element på följande sätt:

<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>

  • VirtualPath är sökvägen till den blockerade sidan.

  • VirtualPath måste referera till en sida som är spöksida och inte kan avvärderas av en användare eller en katalog som innehåller en sådan sida.

  • VirtualPath måste referera till en sida som inte refererar till en annan sida eller en huvudsida som kan avvärderas eller en katalog som inte innehåller en sådan sida eller huvudsida.

  • DirectFileDependencies anger antalet tillåtna direkta filberoenden. Om du får ett felmeddelande, till exempel "antalet tillåtna direkta filberoenden överskrider gränsen", ändrar du det här värdet.

Lösning för scenario 2

Du kan lösa problemet genom att lägga till ett nytt SafeControls-element för en viss typ, namnområde och ett starkt sammansättningsnamn i Web.config-filen under konfigurations-/SharePoint/SafeControls-elementet enligt beskrivningen i SafeControls-elementet (Lösning). Ställ sedan in attributet Safe till SANT.

Mer information om formatet för attributvärden i elementet SafeControls finns i tabellen i steg 12 i avsnittet "Markera säkra kontroller i paketdesignern" i Så här: Markerakontroller som säkra kontroller .

Lösning för scenario 3

Du kan lösa problemet genom att lägga till ett nytt SafeControls-element som använder attributet Src i Web.config-filen under konfigurations-/SharePoint/SafeControls-elementet.

Du får till exempel följande felmeddelande:

"Referensfilen "/_layouts/somedirectory/affectedusercontrol.ascx" är inte tillåten på den här sidan."

I det här fallet kan du lägga till elementet SafeControls, som i följande exempel:

< SafeControls>
    <SafeControl Src="~/_layouts/somedirectory/*" IncludeSubFolders="True" Safe="True" AllowRemoteDesigner="True" SafeAgainstScript="True" />
</SafeControls>

< SafeControls> <SafeControl Src="~/_layouts/somedirectory/*" IncludeSubFolders="True" Safe="True" /> </SafeControls>

Behöver du mer hjälp?

Vill du ha fler alternativ?

Utforska prenumerationsförmåner, bläddra bland utbildningskurser, lär dig hur du skyddar din enhet med mera.