Les pages fantômes dans SharePoint ne sont pas générées

Symptômes

Après avoir installé l’une des mises à jour suivantes, certaines pages fantômes dans Microsoft SharePoint ne sont pas générées :

Par exemple, les pages du portail Microsoft Identity Manager (MIM) et certaines pages personnalisées qui sont déployées via la solution SharePoint ne sont pas générées.

En outre, il se peut que vous rencontriez les scénarios suivants.

Scénario 1

La page fantôme bloquée affiche l’un des messages d’erreur suivants : 

  • L’attribut 'autoeventwireup' n’est pas autorisé sur cette page.

  • L’attribut 'enablesessionstate' n’est pas autorisé sur cette page.

  • Les blocs de code ne sont pas autorisés dans ce fichier.

  • Le gestionnaire d’événements 'OnSelectedIndexChanged' n’est pas autorisé sur cette page.

    Remarque L’événement dans le dernier message d’erreur peut également être un autre événement tel que « OnClick ».


Scénario 2

La page fantôme bloquée peut afficher le message d’erreur suivant :

UnsafeControlException: Impossible d’afficher ou d’importer un composant WebPart ou un contrôle de formulaire web sur cette page. Le type est introuvable ou n’est pas inscrit comme fiable.


Scénario 3

La page fantôme bloquée peut afficher le message d’erreur suivant :

Le fichier référencé '/_layouts/somedirectory/affectedusercontrol.ascx' n’est pas autorisé sur cette page.

Cause

Les pages fantômes sont stockées dans le système de fichiers. Leur niveau de sécurité est renforcé par l’interdiction des scripts côté serveur et des contrôles non sécurisés. La génération d’une page fantôme peut être bloquée si les conditions suivantes sont remplies :

  • La page fantôme contient un code en ligne ou un script côté serveur.

  • Le type code-behind ou partie web n’est pas enregistré comme étant sécurisé.

Résolution du scénario 1

Pour résoudre ce problème, ajoutez un nouvel élément PageParserPath possédant un attribut VirtualPath au fichier Web.config sous l’élément configuration/SharePoint/SafeMode/PageParserPaths.

Par exemple, le message d’erreur suivant s’affiche :

« L’attribut 'autoeventwireup' n’est pas autorisé sur cette page. »

Dans ce cas, vous pouvez ajouter un élément PageParserPath, comme suit :

<SafeMode MaxControls="200" CallStack="false" DirectFileDependencies="15" TotalFileDependencies="250" AllowPageLevelTrace="false">
    <PageParserPaths>
        <PageParserPath VirtualPath="/<relativepath>/page.aspx" CompilationMode="Always" AllowServerSideScript="true" AllowUnsafeControls="true" IncludeSubFolders="True"/>
    </PageParserPaths>
</SafeMode>


Si toutes les pages du même répertoire virtuel doivent être débloquées, vous pouvez utiliser un élément PageParserPath, comme suit :

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

Remarques

  • VirtualPath est le chemin d’accès de la page bloquée.

  • VirtualPath doit référencer une page qui est fantôme et ne peut être supprimée de son état fantôme par aucun utilisateur, ou un répertoire qui contient une telle page.

  • VirtualPath doit référencer une page qui ne référence pas une autre page ou une page maître qui peut être supprimée de son état fantôme, ou un répertoire qui ne contient pas une telle page ou page maître.

  • DirectFileDependencies indique le nombre de dépendances de fichiers directes autorisées. Modifiez cette valeur si un message d’erreur du type « Le nombre de dépendances de fichiers directes autorisées dépasse la limite » s’affiche.

Résolution du scénario 2

Pour résoudre ce problème, ajoutez un nouvel élément SafeControls pour le type, l’espace de noms et le nom fort d’assembly au fichier Web.config sous l’élément configuration/SharePoint/SafeControls, comme décrit dans Élément SafeControls (solution). Ensuite, réglez l’attribut Safe sur TRUE.

Pour plus d’informations sur le format des valeurs d’attribut dans l’élément SafeControls, consultez le tableau de l’étape 12 dans la section « Marquage de contrôles sécurisés dans le concepteur de packages » de la page Comment : marquer des contrôles comme contrôles sécurisés.

Résolution du scénario 3

Pour résoudre ce problème, ajoutezun nouvel élément  SafeControls utilisant l’attribut Src au fichier Web.config sous l’élément configuration/SharePoint/SafeControls.

Par exemple, le message d’erreur suivant s’affiche :

« Le fichier référencé '/_layouts/somedirectory/affectedusercontrol.ascx' n’est pas autorisé sur cette page. »

Dans ce cas, vous pouvez ajouter l’élément SafeControls, comme dans les exemples suivants :

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

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

Besoin d’aide ?

Développez vos compétences
Découvrez des formations
Accédez aux nouvelles fonctionnalités en avant-première
Rejoindre Microsoft Insider

Ces informations vous ont-elles été utiles ?

Nous vous remercions pour vos commentaires.

Merci pour vos commentaires. Il serait vraisemblablement utile pour vous de contacter l’un de nos agents du support Office.

×