none
Permissões em Lista Com Grupos Sharepoint e Grupos do Active Directory RRS feed

  • Pergunta

  • Boa tarde,

    Estou com a seguinte dúvida: Criei uma web part que exibe alguns dados sobre o site. Esses dados somente podem ser exibidos por usuários que fazem parte de um determinado grupo do sharepoint. Caso o usuário não faça parte desse grupo ele exibe uma mensagem qualquer. Bom essa web part estava funcionando até que percebi um erro: Quando eu cadastro um grupo de AD(Active Directory) dentro do Grupo do Sharepoint que tem permissão para exibir os dados, não consigo identificar que o usuário pode visualizar os dados. A Hierarquia é essa:

    -----Grupo Sharepoint

    -------- Grupo AD

    ------------- Usuario

    Faço a verificação da seguinte forma:

    private

     

    bool AccessDenied()

    {

     

    SPUser user = SPContext.Current.Web.CurrentUser;

     

    bool pertence = false;

     

    SPSecurity.RunWithElevatedPrivileges(delegate()

    {

     

    if (user.Groups.Count == 0)

    {

    pertence =

    false;

    }

     

    else

    {

     

    if (!user.IsSiteAdmin)

    {

     

    foreach (SPGroup grupo in user.Groups)

    {

     

    if (grupo.Name.ToUpper() == "TECNICOS")

    {

    pertence =

    true;

     

    break;

    }

    }

    }

     

    else

    {

    pertence =

    true;

    }

    }

    });

     

    return !pertence;

    }

     

    Existe alguma forma de descobrir que o usuário esta dentro do grupo do AD que esta dentro do grupo do Sharepoint?


    Desenvolvedor.Net
    segunda-feira, 19 de julho de 2010 18:04

Respostas

  • Obrigado Romano mas consegui resolver o problema.

    Para saber se o usuário tem permissão por estar no grupo do sharepoint, mesmo estando no grupo do ad, fiz uma comparação com o grupo do SPWeb.SiteGroups,

    Em Seguida utilizei o SPGroup.ContainsCurretUser. Dessa forma consegui verificar se o usuário atual pode acessar a webpart.

    Valeu!

     


    Desenvolvedor.Net
    terça-feira, 20 de julho de 2010 22:27

Todas as Respostas