+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 Aug 2025
    200 pontos
    Melhores 2025 Jul 28 - Aug 03
    1. Larson

      156 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

    517 perguntas
    566 respostas
    389 comentários
    704 usuários