São anotações de proteção de acesso (Securing Access) ao Ent...

Próximas questões
Com base no mesmo assunto
Q2171696 Programação
São anotações de proteção de acesso (Securing Access) ao Enterprise Java Beans (EJB) versão 3.2: 
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: E - @DeclareRoles, @PermitAll, @DenyAll, @RolesAllowed e @RunAs.

Para resolver essa questão, é importante entender o conceito de anotações (annotations) em Java e como elas são aplicadas na segurança do Enterprise Java Beans (EJB). EJB é uma especificação para a construção de componentes de negócios escaláveis e transacionais em Java. A partir da versão 3, a especificação EJB trouxe um modelo de programação muito mais simples, baseado em anotações, para definir aspectos como a segurança.

As anotações mencionadas são usadas para controlar o acesso aos métodos dos EJBs. Vamos explicar cada uma das anotações corretas:

  • @DeclareRoles: Usada para declarar os papéis de segurança usados dentro do bean.
  • @PermitAll: Especifica que todos os papéis são permitidos para acessar o método ou bean em questão.
  • @DenyAll: Bloqueia o acesso de todos os papéis ao método ou bean.
  • @RolesAllowed: Permite o acesso apenas aos papéis especificados.
  • @RunAs: Define a identidade de segurança que o EJB será executado, o que é útil para a execução de operações internas entre beans.

Portanto, a alternativa E está correta porque lista todas as anotações que estão de fato relacionadas com a segurança e o controle de acesso em EJB 3.2. As demais alternativas contêm anotações que não existem ou não são usadas para a configuração de segurança em EJB.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

A) @DeclareBeans, @PermitFull, @DenyFull, @RolesAll e @Run.

  • @DeclareBeans: Não existe. A anotação correta é @DeclareRoles.
  • @PermitFull e @DenyFull: Não existem. As anotações corretas são @PermitAll e @DenyAll.
  • @RolesAll: Não existe. A anotação correta é @RolesAllowed.
  • @Run: Não existe. A anotação correta é @RunAs.

B) @SecurityBeans, @PermitFull, @DenyFull, @RolesAll e @Run.

  • @SecurityBeans: Não existe. A anotação correta é @DeclareRoles.
  • @PermitFull e @DenyFull: Não existem. As anotações corretas são @PermitAll e @DenyAll.
  • @RolesAll: Não existe. A anotação correta é @RolesAllowed.
  • @Run: Não existe. A anotação correta é @RunAs.

C) @DeclareRoles, @PermitAll, @DenyAll, @RolesAll e @RunAs.

  • @RolesAll: Não existe. A anotação correta é @RolesAllowed.
  • As outras anotações estão corretas, mas a presença de @RolesAll torna a alternativa incorreta.

D) @SecurityRoles, @PermitAll, @DenyAll, @RolesAllowed e @RunAs.

  • @SecurityRoles: Não existe. A anotação correta é @DeclareRoles.
  • As outras anotações estão corretas, mas a presença de @SecurityRoles torna a alternativa incorreta.

-----------------------------

E) @DeclareRoles, @PermitAll, @DenyAll, @RolesAllowed e @RunAs.

Justificativa: Essas são as anotações corretas de proteção de acesso na especificação EJB 3.2 para garantir a segurança no acesso aos métodos de um Enterprise Java Bean:

  • @DeclareRoles: Declara os papéis de segurança que podem ser usados para a autorização.
  • @PermitAll: Permite o acesso ao método para todos os usuários.
  • @DenyAll: Impede que qualquer usuário acesse o método.
  • @RolesAllowed: Especifica quais papéis de segurança podem acessar o método.
  • @RunAs: Permite que o EJB execute operações em nome de um papel específico.

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo