quarta-feira, 8 de outubro de 2014

Herança de permissões no SharePoint C#


Mostrarei aqui como realizar como realizar tanto a quebra de herança nas permissões quanto a utilização das permissões do objeto pai.



Para mais informações sobre o funcionamento de herança de permissões no SharePoint, segue abaixo um link que explica o que é herança e como ela aplicada aos objetos do SharePoint:

http://office.microsoft.com/pt-br/sharepoint-help/o-que-e-heranca-de-permissoes-HA102772762.aspx

Vamos ao código, abaixo temos um exemplo onde é realizada a quebra de herança de permissões para uma biblioteca específica.

//Acessa o site collection
using(SPSite site = new SPSite("http://site"))
{
    //Acessa o site (top-level site do site collection) 
    using(SPWeb web = site.OpenWeb())
    {
        //Busca a lista pelo nome
        var list = web.Lists.TryGetList("Nome Da Lista");
        if(list != null)
        {
            //Realiza a quebra de herança de permissões
            //O parâmetro "true" informa que desejo copiar as permissões atuais
            list.BreakRoleInheritance(true);
        }
    }
}

Abaixo temos um exemplo de herdar as permissões do objeto pai, como mudaremos a herança de permissões em uma lista, isto implica que serão concedidas permissões conforme o site desta lista (objeto pai).

//Acessa o site collection
using(SPSite site = new SPSite("http://site"))
{
    //Acessa o site (top-level site do site collection) 
    using(SPWeb web = site.OpenWeb())
    {
        //Busca a lista pelo nome
        var list = web.Lists.TryGetList("Nome Da Lista");
        if(list != null)
        {
            //Atualiza as permissões para herdar do objeto pai, no caso, do site
            list.ResetRoleInheritance();
        }
    }
}

Qualquer dúvida ou sugestão informe nos comentários.

Abraço !

Nenhum comentário:

Postar um comentário