VRaptor - um login controller redirecionando para um index controller

Tardee galera…

é, pelo q vi nao consegui ser claro no título do tópico…

vamos a um exemplo:

Supondo que eu tenha, no mesmo projeto vraptor, três ou mais ‘segmentos, portais’ diferentes:

http://hospital.com.br/portalmedico
http://hospital.com.br/portalpaciente
http://hospital.com.br/portaladmin

O problema é que, por exemplo, se um paciente fizer login e estiver tentando acessar o link do portalmedico…
vai dar erro (acesso negado, devido os controles de permissao)…
Queria q tivesse alguma coisa que redirecionasse a pessoa qndo fizer login para o link do teu portal… tipo:

Medico tentou acessar: /portaladmin
redirecioná-lo para: /portalmedico

:slight_smile:
pode ser feito galera? o q acham disso…
ou deixar a pagina de erro (acesso negado)
ja resolve?

Dead_Devil

Numa aplicação que desenvolvo quando o usuário não esta logado eu redireciono ele para tela de login.
Vc pode fazer uma verificação de qual perfil dele via jstl e redireciona para a tela que deseja. Segue abaixo meu código para lhe auxiliar:

&lt;c:if test="${empty usuarioWeb or not usuarioWeb.logado}"&gt; Voc&ecirc; n&acirc;o est&aacute; logado. <a /login"/>&quot;&gt;Login </a> &lt;% String redirectURL = "http://localhost:8080/futura/index.html"; response.sendRedirect(redirectURL); %&gt; &lt;/c:if&gt;

Ou vc pode modificar o exemplo do Washington Botelho de controle de permissão para quando for determinado perfil direcionar para tela desejada.

Obrigado pela resposta.
Eu fiz o meu controle de acesso mais ou menos baseado no post do Botelho.
Apenas o interceptador que ficou mto diferente hehehe… pq é no intercept que eu redireciono para
a pagina de acesso negado…

então… pelo o q vc falou , posso fazer isso no proprio interceptador… :slight_smile:
vejo qual que é o perfil do cara e jogo pra index dele. :slight_smile:
O que acha?

abraçoss cara…

Boa tarde

Pela sua necessidade acho legal você fazer essa regra no interceptor, assim você evitaria de espalhar a regra de permissão por vários pontos do seu sistema.

Dentro do interceptor você poderia fazer o redirecionamento direto para o template/contexto correto, fora que caso um usuário sem permissão em um determinado contexto venha tentar o acesso direto pelo url, o interceptor seria acionado e iria redirecionar para o contexto de acordo com as permissões já carregadas na session.

Falou.