Pular para o conteúdo principal

Questão de Programação — Plataforma Java — FUNDATEC 2023

ProgramaçãoPlataforma Java
Código
qq896823
Banca
FUNDATEC
Órgão
PROCERGS
Ano
2023
Nível
Superior
Cargo
ANC - Analista em Computação - Ênfase em Programação de Sistemas na Tecnologia Java
São anotações de proteção de acesso (Securing Access) ao Enterprise Java Beans (EJB) versão 3.2:
  1. A@DeclareBeans, @PermitFull, @DenyFull, @RolesAll e @Run.
  2. B@SecurityBeans, @PermitFull, @DenyFull, @RolesAll e @Run.
  3. C@DeclareRoles, @PermitAll, @DenyAll, @RolesAll e @RunAs.
  4. D@SecurityRoles, @PermitAll, @DenyAll, @RolesAllowed e @RunAs.
  5. E@DeclareRoles, @PermitAll, @DenyAll, @RolesAllowed e @RunAs.
Revelar gabarito e comentário

GabaritoE — @DeclareRoles, @PermitAll, @DenyAll, @RolesAllowed e @RunAs.

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Anotações de Segurança no EJB 3.2

Gabarito: letra E. A alternativa E relaciona corretamente as cinco anotações de segurança previstas na especificação EJB 3.2: @DeclareRoles, @PermitAll, @DenyAll, @RolesAllowed e @RunAs. As demais opções contêm nomes incorretos (ex.: @PermitFull, @SecurityRoles, @RolesAll) que não existem na API padrão.

A banca testa o conhecimento literal das anotações do pacote javax.annotation.security e javax.ejb para controle de acesso a métodos EJB. É uma questão de memorização e atenção aos nomes.

1@DeclareRoles
Declara papéis de segurança
2@PermitAll
Permite acesso a todos
3@DenyAll
Nega acesso a todos
4@RolesAllowed
Especifica papéis permitidos
5@RunAs
Define papel de execução
Anotações de segurança EJB 3.2
LEVELsoulevel.com.br
Anotações de segurança EJB 3.2: @DeclareRoles (Declara papéis de segurança); @PermitAll (Permite acesso a todos); @DenyAll (Nega acesso a todos); @RolesAllowed (Especifica papéis permitidos); @RunAs (Define papel de execução)

Alternativa A — ❌ Incorreta

Contém @DeclareBeans (não existe, o correto é @DeclareRoles), @PermitFull e @DenyFull (não existem, os corretos são @PermitAll e @DenyAll), @RolesAll (não existe, o correto é @RolesAllowed) e @Run (deveria ser @RunAs).

Alternativa B — ❌ Incorreta

Apresenta @SecurityBeans (inexistente), @PermitFull, @DenyFull, @RolesAll e @Run — todos com os mesmos erros de nomenclatura da alternativa A.

Alternativa C — ❌ Incorreta

Erra apenas em @RolesAll — o nome correto da anotação que declara os papéis permitidos é @RolesAllowed. As demais (@DeclareRoles, @PermitAll, @DenyAll, @RunAs) estão corretas, mas a presença de @RolesAll invalida a opção.

Alternativa D — ❌ Incorreta

Inova com @SecurityRoles, que não é uma anotação padrão do EJB; o correto para declarar papéis é @DeclareRoles. As demais (@PermitAll, @DenyAll, @RolesAllowed, @RunAs) estão corretas, mas @SecurityRoles torna a opção errada.

Alternativa E — ✅ Correta ⟵ GABARITO

Contém exatamente as cinco anotações de segurança definidas na especificação EJB 3.2:

  • @DeclareRoles: declara os papéis de segurança usados pela aplicação.

  • @PermitAll: permite acesso a todos os papéis.

  • @DenyAll: nega acesso a todos os papéis.

  • @RolesAllowed: especifica quais papéis têm permissão para acessar um método.

  • @RunAs: define o papel de execução para o método.

PEGA ESSA DICA!

Grave os nomes exatos: todas começam com '@' e seguem o padrão @DeclareRoles, @PermitAll, @DenyAll, @RolesAllowed, @RunAs. Cuidado com trocas comuns: 'RolesAllowed' (plural) e não 'RolesAll'; 'PermitAll' e não 'PermitFull'; 'DeclareRoles' e não 'SecurityRoles'. A banca frequentemente insere anotações inventadas para testar a literalidade.

Gabarito: letra E.

Link permanente: /questoes/qq896823