+2 votos
72 visitas

Existe algum método para verificar se o usuário possuí permissão para execução de função em uma entidade?

Pois atualmente estamos chamando o Entity.Call e quando o usuário não tem permissão uma exception e lançada.

Mesmo "comendo a exception" o sistema está registrando um evento no EventViewer.

Como está hoje:

void Global_PostAcquireRequestState(object sender, EventArgs e)
{
.... 
        try
        {
            Entity.Call(EntityDefinition.GetByName("GLGL_PESSOAUSUARIOS"), "CARREGARCONTEXTOPORTAL", transitoryData);
            ...
        }
        catch (Benner.Tecnologia.Common.Exceptions.AuthorizationException)
        {
            // Quando o usuário não tem permissão cai aqui e não faz nada.
        }
    }
}

Existe algum método de verificação que não lance exception? Assim eu verificaria antes de chamar a rotina.

por (632 pontos) | 72 visitas

1 Resposta

–1 voto

Opa, verifique o seguinte método:
 

BennerContext.Authorization.CanExecute(targetDefinition, "CARREGARCONTEXTOPORTAL");

 

por (183 pontos)
Executei:

BennerContext.Authorization.CanExecute(EntityDefinition.GetByName("K_GLGL_AGENTEVENDASFILIAIS"), "CARREGARCONTEXTOPORTAL")

Porém retornou false para um usuário que tem permissão para essa operação. E false também para quem não tem.

Perguntas relacionadas

+3 votos
1 resposta
+1 voto
1 resposta
+5 votos
1 resposta
Melhores Apr 2026
  1. CeceliaWysel

    5 Pontos

  2. VernonSchaw

    5 Pontos

  3. MargieOsterh

    5 Pontos

200 pontos
Melhores 2026 Apr 06 - 12
  1. danilo.pereira

    96 Pontos

  2. danilo.pereira

    96 Pontos

  3. danilo.pereira

    96 Pontos

  4. willian.metalsystem

    69 Pontos

  5. henrique.muller

    62 Pontos

  6. luciano.fronza

    61 Pontos

  7. luciano.fronza

    61 Pontos

  8. luciano.fronza

    61 Pontos

  9. diuari.molinari

    52 Pontos

  10. diuari.molinari

    51 Pontos

518 perguntas
567 respostas
389 comentários
772 usuários