Resultados reduzidos de segurança para consulta personalizada na propriedade
-
28-09-2020 - |
Pergunta
Os sites do meu conjunto de sites usam uma propriedade personalizada para determinar que "tipo" de site eles são.Por exemplo.
web.Properties["SiteCategory"] = "SomeCategory1";
Estou planejando criar uma web part para mostrar todos os sites do meu conjunto de sites que possuem propriedades personalizadas.
Aqui está um trecho do que estou planejando fazer:
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 */
}
}
O resultado seria uma redução de segurança para o usuário atual?Ou mostraria apenas todos os sites do conjunto de sites?O que eu preciso para ter certeza de que a segurança está cortada?
Além disso, em termos de desempenho, esta é uma opção viável?Se você tiver alguma outra maneira de fazer isso, sou todo ouvidos.
Solução
Use o seguinte código:
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")
{}
}
}
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a sharepoint.stackexchange