Partager via


Procédure : éviter les erreurs de validation de page en utilisant des API SharePoint dans les applications Web

Dernière modification : jeudi 1 octobre 2009

S’applique à : SharePoint Foundation 2010

Dans SharePoint Foundation, les applications Web s'exécutent sous l'identité du pool d'applications. Pour des raisons de sécurité, la plupart des API SharePoint Foundation ont des restrictions lors des accès à partir d'une application Web. Par conséquent, ces API peuvent déclencher diverses erreurs de validation de page. Pour éviter ce problème, mettez à jour votre application Web comme indiqué ci-dessous.

Mise à jour de votre application

Pour mettre à jour votre application Web afin d'éviter les erreurs de validation de page, procédez comme suit :

1. Exécuter l'application Web dans le contexte SharePoint

Pour ce faire, créez un répertoire virtuel dans le répertoire _layouts d'un site SharePoint et hébergez-y l'application Web.

2. Vérifier la consolidation du pool d'applications

Assurez-vous que l'application Web s'exécute sous le même pool d'applications que l'administration centrale de SharePoint. Cela garantit que les fonctionnalités d'administration de SharePoint Foundation telles que le déploiement de contenu, la gestion des profils des utilisateurs, etc. sont accessibles via l'identité du pool d'applications de l'administration centrale.

3. Ajouter un contrôle de chiffrement de formulaire à votre page ASPX

La plupart des API sont accessibles par le biais de l'application Web une fois les deux premières étapes ci-dessus effectuées. Toutefois, certaines API et fonctionnalités SharePoint Foundation peuvent nécessiter une validation de sécurité plus élevée. Si vous obtenez toujours une erreur de validation de sécurité après l'application des étapes précédentes, vous devez ajouter un contrôle Web de chiffrement de formulaire SharePoint Foundation à votre page ASPX. Ce contrôle valide l'application Web lorsqu'elle tente d'accéder aux API SharePoint Foundation. Par conséquent, l'application Web est considérée comme étant fiable et peut accéder à SharePoint Foundation. Pour utiliser le contrôle Web de chiffrement de formulaire, vous devez enregistrer un préfixe de balise pour SharePoint Foundation, puis ajouter le contrôle de chiffrement de formulaire dans la page ASPX.

L'exemple de code suivant indique comment enregistrer le préfixe de balise :

<%@ Register Tagprefix="SharePoint" 
   Namespace="Microsoft.SharePoint.WebControls" 
   Assembly="Microsoft.SharePoint 
   Version=14.0.0.0
   Culture=neutral, 
   PublicKeyToken=71e9bce111e9429c" %>

Maintenant, ajoutez le contrôle de chiffrement de formulaire SharePoint Foundation à la page :

<SharePoint:FormDigest ID="fd" runat="server" PageUri=""/>

Vous devez définir la propriété PageURI du contrôle de chiffrement de formulaire dans la page où il se trouve. Sinon, vous recevrez une erreur de référence à un objet NULL.