Dúvida quanto ao Interceptor

Estou na dúvida se essa implementação serve para o meu caso.

Tenho um form de login, se o login estiver correto, eu envio o usuário para “/app”, se não estiver correto, eu informo um erro de login e ele continua na mesma página.
Como eu ainda não programei minha aplicação para tratar isso, se eu digito direto no navegador /app ele passa sem ter logado.

Para este caso, eu consigo fazer isso que eu quero usando um Interceptor ou tem algum outro modo de fazer?

olá amigo, se vc estiver usando servlets e jsp simples. Na realidade vc vai precisar impementar um Filter.

Você implementa o filter com essa sua regra de login e aplica seu filter no padrão de url raiz da sua app ou seja no url-pattern “/”.

Assim todas as requests passaram nesse filter e vc tera o resultado que procura. Pesquise sobre Filters em servlets.

Fica a dica

Paulo, valeu pela resposta rápida.

Eu pesquisei sobre Filter também. Esqueci de mencionar que eu estou usando o VRaptor.
Por isso falei do Interceptor.
Eu consigo usar Filter com o VRaptor? Você sabe me dizer se ele tem algo para isso no próprio Framework?

Pelo que eu pesquisei aqui, o Interceptor faz isso, mas estou confuso com o código dele ainda.

Não trabalhei com VRaptor ainda mas acredito que no ciclo de vida da requisição, o interceptor vem depois que sua app ja recebeu a requisição e vai tratar na action relacionada. Nesse caso vc tera que pegar o contexto da app e tals… fica engessado na minha opinião.

Se for algo mais acadêmico vc pode usar um filter simples para essa função de regras de acesso mesmo com o VRaptor, repare que o proprio VRaptor declara um filter no web.xml da aplicação, seu filter deve vir primeiro nas declarações do web.xml. Mas se for algo mais profissional, eu recomendo o spring security. Mas e mais trabalhoso que o filter, tem mais xmls, vc precisa de um provider seu etc…

Fica a dica