+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 Jun 2026
  1. Duwe

    4 Pontos

200 pontos
Melhores 2026 Jun 08 - 14
  1. danilo.pereira

    96 Pontos

  2. danilo.pereira

    96 Pontos

  3. danilo.pereira

    96 Pontos

  4. luciano.fronza

    61 Pontos

  5. luciano.fronza

    61 Pontos

  6. luciano.fronza

    61 Pontos

  7. diuari.molinari

    52 Pontos

  8. diuari.molinari

    51 Pontos

  9. diuari.molinari

    51 Pontos

  10. willian.metalsystem

    45 Pontos

518 perguntas
568 respostas
389 comentários
791 usuários