Результаты безопасности охраны для пользовательских запросов на собственность

sharepoint.stackexchange https://sharepoint.stackexchange.com/questions/104002

Вопрос

Сайты в моей коллекции сайта используют пользовательское свойство, чтобы определить, какой «тип» сайта они являются.Например.

web.Properties["SiteCategory"] = "SomeCategory1";
.

Я планирую создать веб-часть, чтобы показать все сайты в моей коллекции сайта, которые имеют недвижимость.

Вот фрагмент того, что я планирую сделать:

SPSite site = SPContext.Current.Site;
foreach (SPWeb web in site.AllWebs)
{
  if (web.Properties["SiteCategory"] == "SomeCategory1") {
     /* Insert code to display the current site URL on the web part */
  }
}
.

Результатом будет безопасность, обрезанная для текущего пользователя?Или это просто покажет все сайты в коллекции сайта?Что бы мне нужно, чтобы он был обрезан безопасностью?

Также, производительность-мудрый, это жизнеспособный вариант?Если у вас есть какой-то другой способ сделать это, я все уши.

Это было полезно?

Решение

Используйте следующий код:

using(SPSite site = new SPSite("http://example/site/"))
{
    using (SPWeb web = site.OpenWeb())
    {
        SPWebCollection webCollection = web.GetSubwebsForCurrentUser();

            foreach (SPWeb web in webCollection)
             {
                if (web.Properties["SiteCategory"] == "SomeCategory1")
                    {}
             }
    }
}
.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с sharepoint.stackexchange
scroll top