我的网站集中的站点使用自定义属性来确定它们的网站的“类型”。例如。

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

我计划创建一个web部分,以显示具有自定义属性的网站集中的所有网站。

这是我打算做什么的片段:

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归因
scroll top