VRaptor + Autenticação

1 resposta
H

Pessoal

Há como o VRaptor diferenciar permissões de usuários logados? Se sim, como ficaria o Interceptor?

Como exemplo em uma loja virtual, uma forma em que para usuários não logados aparecesse apenas uma mensagem de boas vindas e uma tela de login.

Para o usuário logado, seria possível fazer a manutenção do carrinho (comprar produto, remover produto, etc.). Seriam liberados os menus de acordo com essas funcionalidades.

Ao ser logado um administrador, seria disponibilizadas todas as funcionalidades e todas as opções dos menus.

Com apenas um tipo de usuário e um tipo de @Restriction, isso funcionou perfeito.

Exemplo:

<c:if test="${usuarioWeb.logado }">
<td><a href="<c:url value="/produtos/${produto.id}"/>">Editar</a></td>
<td>
<form action="<c:url value="/produtos/${produto.id}"/>" method="POST">
<button class="link" name="_method" value="DELETE">Remover</button>
</form>
</td>
</c:if>

Ao meu ponto de vista, isso diminuiria muito a quantidade de páginas (arquivos JSP), pois como o exemplo um arquivo "lista.jsp" seria exibido conforme a permissão do usuário (usuário não logado, usuário logado, administrador), ao invés de desenvolver toda uma nova estrutura (arquivos JSP) para a área administrativa.

Porém, o objetivo da minha pergunta é saber se é viável e seguro fazer dessa forma.

Obrigado

1 Resposta

Lucas_Cavalcanti

se as diferenças entre as páginas de logado, deslogado e admin forem poucas, assim é um bom jeito…

se forem muitas é melhor fazer uma página pra cada do que ter um jsp gigantesco cheio de ifs.

Criado 8 de outubro de 2010
Ultima resposta 8 de out. de 2010
Respostas 1
Participantes 2