속성에 대한 사용자 정의 쿼리에 대한 보안 트림 결과가 트리밍됩니다
-
28-09-2020 - |
문제
내 사이트 모음의 사이트는 사용자 정의 속성을 사용하여 사이트의 "유형"을 결정합니다.예를 들어.
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")
{}
}
}
}
. 제휴하지 않습니다 sharepoint.stackexchange