none
Tratar objetos de acordo com o usuário RRS feed

  • Pergunta

  • Boa noite,

    Estou customizando uma aplicação. Fiz uma página para visualização de uma noticia. Adicionei um link para edição desta noticia, mas no caso precisaria que somente os usuários administradores tenham acesso a este link. Não sei como fazer essa validação.

    <a href="EditForm.aspx?ID={@ID}">Editar Notícia</a>


    Obrigado
    terça-feira, 22 de setembro de 2009 22:09

Respostas

  • Savoia, bom dia.

    Você pode colocar no Code-Behind a seguinte validação:
    SPWeb web = site.OpenWeb();
    
    // Verifica se o usuário é Administrador do Site Collection (SPSite)
    if (web.UserIsSiteAdmin)
    {
    	// Habilita a visualização do Link
    }
    // Verifica se o usuário é Administrador do Site (SPWeb) if (web.UserIsWebAdmin) { // Habilita a visualização do Link
    }
    Abs,
    Andre Vicente Gil
    MCTS: Windows SharePoint Services 3.0: Application Development
    MCTS: .Net Framework 2.0: Web Applications

    quarta-feira, 23 de setembro de 2009 12:44
  • Olá Savoia e André,

    As dicas do André já resolvem o problema, entretanto somente os usuários que fore Site Collection Admin passarão nesse tipo de verificação. Para que você consiga validar os usuários que forem membros de grupos com Full Control, sem precisar que eles sejam Site Collection Admin, utilize a seguinte cláusula no If->

    if (web.DoesUserHavePermissions(SPBasePermissions.ManageWeb))

    Perceba que esse tipo de verificação pode ser feita com qualquer tipo de permissão que os usuários tenham, é só brincar um pouco nesse Enum SPBasePermissions.

    Abraços.

    Michael M. Lima
    MCTS: WSS 3.0 Config/Dev | MOSS 2007 Config/Dev
    ma_file@hotmail.com | mlimablog.spaces.live.com | www.CanalSharePoint.com.br
    quinta-feira, 1 de outubro de 2009 14:40

Todas as Respostas

  • Savoia, bom dia.

    Você pode colocar no Code-Behind a seguinte validação:
    SPWeb web = site.OpenWeb();
    
    // Verifica se o usuário é Administrador do Site Collection (SPSite)
    if (web.UserIsSiteAdmin)
    {
    	// Habilita a visualização do Link
    }
    // Verifica se o usuário é Administrador do Site (SPWeb) if (web.UserIsWebAdmin) { // Habilita a visualização do Link
    }
    Abs,
    Andre Vicente Gil
    MCTS: Windows SharePoint Services 3.0: Application Development
    MCTS: .Net Framework 2.0: Web Applications

    quarta-feira, 23 de setembro de 2009 12:44
  • Olá Savoia e André,

    As dicas do André já resolvem o problema, entretanto somente os usuários que fore Site Collection Admin passarão nesse tipo de verificação. Para que você consiga validar os usuários que forem membros de grupos com Full Control, sem precisar que eles sejam Site Collection Admin, utilize a seguinte cláusula no If->

    if (web.DoesUserHavePermissions(SPBasePermissions.ManageWeb))

    Perceba que esse tipo de verificação pode ser feita com qualquer tipo de permissão que os usuários tenham, é só brincar um pouco nesse Enum SPBasePermissions.

    Abraços.

    Michael M. Lima
    MCTS: WSS 3.0 Config/Dev | MOSS 2007 Config/Dev
    ma_file@hotmail.com | mlimablog.spaces.live.com | www.CanalSharePoint.com.br
    quinta-feira, 1 de outubro de 2009 14:40