Как получить SPSite от SpwebeventProperties?
-
16-10-2019 - |
Вопрос
Как мне получить SPSite
объект из SPWebEventProperties
объект передан в SPWebEventReceiver.WebProvisioned
метод?
public override void WebProvisioned(SPWebEventProperties properties)
Решение
Нет необходимости создавать новый SPSite
объект. Вместо этого используйте:
properties.Web.Site
Другие советы
Эта статья MSDN Лучшие методы безопасности для разработчиков в SharePoint 2010 Рекомендуется против построения объектов SPSITE с использованием GUID.
Безопасно построить объекты SPSite
Конструктор microsoft.sharepoint.spsite подвержен следующим двум проблемам:
Новые объекты SPSite могут быть построены с использованием полностью квалифицированного доменного имени, например, http://contoso1.example.com. Анкет Если это доменное имя отличается от текущего контекста запроса, оно может привести к проблеме безопасности междомена.
Новые объекты SPSITE могут быть построены с использованием идентификатора сайта (ID) и необязательного токена пользователя, но без полностью квалифицированного URL или Microsoft.SharePoint.administration.Spurlzone. Если текущий контекст запроса не является зоной по умолчанию, это может обойти политику веб -приложений.
Было бы безопаснее использовать
properties.Web.Site
Как посоветовал Андерс