Question

Comment puis-je obtenir un objet SPSite de l'objet SPWebEventProperties passé dans la méthode SPWebEventReceiver.WebProvisioned?

public override void WebProvisioned(SPWebEventProperties properties)
Était-ce utile?

La solution

Il n'y a pas besoin de créer un nouvel objet SPSite. Au lieu d'utilisation:

properties.Web.Site

Autres conseils

Cet article MSDN Meilleures pratiques de sécurité pour les développeurs dans SharePoint 2010 recommande contre la construction d'objets SPSite en utilisant un Guid.

Construct SPSite objets en toute sécurité

Le Microsoft.SharePoint.SPSite constructeur est sujette à la suivante deux problèmes:

Les nouveaux objets SPSite peut être construit en utilisant un qualifié le nom de domaine, par exemple http://contoso1.example.com . Si cela le nom de domaine est différent du contexte de la demande actuelle, elle peut conduire à un problème de sécurité inter-domaines.

Les nouveaux objets SPSite peut être construit en utilisant un identificateur de site (ID) et le jeton d'utilisateur en option, mais sans une URL complète ou Microsoft.SharePoint.Administration.SPUrlZone énumération. Si la demande actuelle contexte n'est pas la zone Par défaut, cette permet de contourner la politique d'application Web.

Il serait plus prudent d'utiliser

properties.Web.Site

comme conseillé par Anders

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