Comment puis-je obtenir un SPSite de SPWebEventProperties?
-
16-10-2019 - |
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)
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