Question

J'utilise SharePoint Server 2007 Enterprise avec Windows Server 2008 Enterprise. J'ai déployé un portail d'édition. Je développe une application web ASP.Net utilisant VSTS 2008 + C # .Net + 3.5 + ASP.Net + SharePoint Server SDK 2007.

Je trouve que nous avons parfois besoin d'utiliser SPWebApplication.FormDigestSettings.Enabled = false pour marcher autour, par exemple en utilisant l'API SharePoint pour créer un site dans une collection de sites. Je veux savoir pourquoi nous avons besoin d'exécuter SPWebApplication.FormDigestSettings.Enabled = false? Quelle est la raison dans les coulisses?

Était-ce utile?

La solution

D'abord la définition de FormDigestSettings selon MSDN

  

La validation de sécurité est spécifique à un utilisateur, le site, et la période de temps et expire après un certain laps de temps configurable. Lorsque l'utilisateur demande une page, le serveur renvoie la page avec la validation de sécurité inséré. Lorsque l'utilisateur soumet alors la forme, le serveur vérifie la validation de sécurité et si elle a changé, l'exécution du programme est interrompue et une exception de sécurité est élevé.

Ceci assure la demande que vous envoyez est authentique, non retouché ou piraté anyway.This validation est ajouté à chaque fois à la page rendu par SharePoint.

Pour revenir à votre question, vous wont besoin d'utiliser ce FormDigestSettings.Enabled = false toujours, à condition que vous disposez des droits nécessaires pour effectuer l'opération, votre code ne fonctionne pas en mode élevé et vous invoquez l'action d'un SharePoint WebSite.

Raison du dernier point toutes les pages maître de SharePoint a cette entrée

<SharePoint:FormDigest runat=server/>

Cette entrée veillera à ce que la page est affichée avec la valeur FormDigest. Reportez-vous ce lien pour plus d'informations.

Licencié sous: CC-BY-SA avec attribution
Non affilié à sharepoint.stackexchange
scroll top