Questão nº 29

Questão de Conhecimentos Específicos · FCC TRF4 2025 (nº 29)

FCC2025Analista Judiciário - Área Apoio Especializado - Especialidade Análise de Sistemas de InformaçãoConhecimentos Específicos
Gabarito: Cver comentário ↓

Considere o trecho de código abaixo, parte de um sistema de processo eletrônico desenvolvido com Jakarta EE 10+, que utiliza Jakarta Authorization para controle de acesso baseado em papéis (roles).

```
@Path("/processos")
@RolesAllowed({"juiz", "advogado"})
public class ProcessoResource {

@GET
@Path("/{id}")
public Response consultarProcesso(@PathParam("id") Long id) {
// Consulta de processo
}

@POST
@Path("/julgar")
@RolesAllowed("juiz")
public Response julgarProcesso(Julgamento julgamento) {
// Julgamento de processos
}
}
```

Com base no código e nas anotações utilizadas,

Resposta comentada

Gabarito Alternativa C

O @RolesAllowed é uma anotação que define quais papéis (tipos de usuário, como "administrador" ou "cliente") estão autorizados a acessar um recurso específico, seja uma classe inteira ou um método individual.

  • (A) Incorreta: O caminho /processos é a base. A execução de consultarProcesso ou julgarProcesso depende do caminho completo (ex: /processos/123 ou /processos/julgar) e do método HTTP (GET ou POST), não do perfil que acessa a classe. O perfil determina se o acesso é permitido, não qual método é invocado.
  • (B) Incorreta: Esta é uma armadilha comum. O juiz pode julgar processos (devido ao @RolesAllowed("juiz") no método julgarProcesso) E também pode consultar processos (pois a anotação @RolesAllowed({"juiz", "advogado"}) na classe se aplica ao método consultarProcesso, que não possui uma anotação @RolesAllowed própria para sobrescrever). O advogado pode somente consultar. A palavra "somente" para o juiz torna a alternativa incorreta.
  • (C) Correta: O método julgarProcesso tem @RolesAllowed("juiz"), então apenas juiz pode acessá-lo. O método consultarProcesso não tem @RolesAllowed próprio, então herda o da classe, que é @RolesAllowed({"juiz", "advogado"}), permitindo que ambos os papéis consultem.
  • (D) Incorreta: A consulta de processos (consultarProcesso) está liberada para juiz e advogado, pois herda o @RolesAllowed({"juiz", "advogado"}) da classe.
  • (E) Incorreta: /{id} é um parâmetro de caminho (path parameter) que representa um valor dinâmico na URL (neste caso, o ID do processo), e não um perfil ou papel de usuário.

Fonte: FCC TRF4 2025 Analista Judiciário - Área Apoio Especializado - Especialidade Análise de Sistemas de Informação (Caderno Tipo 001). Reproduzida para fins de estudo.

Continue estudando

Estudar é izi

Pratique milhares de questões como esta, de graça, com explicação e gamificação no Quizinho.

Estudar de graça no Quizinho