São anotações de proteção de acesso (Securing Access) ao Ent...
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