+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 Sep 2026
    200 pontos
    Melhores 2026 Sep 14 - 20
    1. Larson

      165 Pontos

    2. danilo.pereira

      96 Pontos

    3. danilo.pereira

      96 Pontos

    4. danilo.pereira

      96 Pontos

    5. luciano.fronza

      61 Pontos

    6. luciano.fronza

      61 Pontos

    7. luciano.fronza

      61 Pontos

    8. diuari.molinari

      52 Pontos

    9. diuari.molinari

      51 Pontos

    10. diuari.molinari

      51 Pontos

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