Obtenha itens da lista mesmo que o usuário não tenha acesso a esses itens
-
09-12-2019 - |
Pergunta
Existe uma maneira de obter itens de uma lista mesmo que o usuário atual não tenha acesso a eles? SPSecurity.RunWithElevatedPrivileges
não parece funcionar!
Tenho um caso especial em que preciso acessar alguns itens de uma lista, itens que respeitam determinado filtro.O filtro pode retornar itens que pertencem a outros usuários e estes não são retornados.
Mas preciso que eles coletem algumas informações e as exibam ao usuário!O usuário não verá os itens aos quais não tem acesso, mas as informações que estou exibindo precisam levá-los em consideração.
É possível fazer isso sem definir/remover permissões programaticamente?
Solução
Bem, SPSecurity.RunWithElevatedPrivileges
deve fazer o truque.Certifique-se de criar um novo SPSite/SPWeb dentro do bloco de código elevado:
var siteId = SPContext.Current.Site.ID;
SPSecurity.RunWithElevatedPrivileges(delegate()
{
using (SPSite site = new SPSite(siteId))
{
//do things on the new site object
}
});