Bom dia pessoal estou fazendo um poc entre algumas tecnologias para construir um sistema de processos,licitações e contratos,o Vraptor é um candidadato, estou com algumas dúvidas com o metódo GET e segurança, supomos que eu esteja logado, e na tabela de listagem de processos eu tenha um link:
<a href="<c:url value="/processos/${processo.id}"/>">Editar</a>
@Get("/processos/{id}")
public Processo edita(Long id) {
return processoService.find(id);
}
e sou redirecionado para a tela de edição do processo correspondente,até ai tudo certo, agora o problema:
A questão é, esse sistema vai ser disponibilizado como um serviço, onde temos vários escritórios cadastrados com seus respectivos advogados, supomos que os advogados A e B pertençam ao escritório X, e o advogado C pertença ao escritório y, e que os processos com ids 1,2 e 3 pertençam ao advogado A , os processos 3,4 e 5 ao advogado b e o processo 6 ao advogado C, o problema é que um advogado não deve ver dados de processos de outros advogados, mas navegando com GET se o usuário B por exemplo estiver logado e ir na url e digitar www.sistema.com/edita/5 ele vai ver o processo do advogado A, e pior se for lá e digitar edita/6 ele vê os processos de um advogado de outro escritório, tem alguma maneira fácil de resolver este problema ou vou ter que validar essa restrição para cada action anotada com @Get, no caso seriam 3, processoController,licitaçãoController e contratoController, não vejo como usar validação declarativa, como vcs implementam esse tipo de segurança?
