Dúvida em login [RESOLVIDO]

1. Dúvida em login [RESOLVIDO]

Filippe
spolti

(usa Fedora)

Enviado em 22/04/2010 - 03:29h

Pessoal, tenho um problema e não tenho idéia de como resolver, sou meio que novato em java web.. hehe

tipo, tenho uma página de login.jsp e um servlet que valida este login, até aqui blz.

o problema é, se o cara for lá e alterar a url na mão ele abre normalmente a pg.
queria saber uma forma de mitigar isso, tipo ele só abre as próximas páginas se estiver logado.


Grato.


  


2. login java

Victor Guimarães Nunes
nunesvictor

(usa Ubuntu)

Enviado em 08/05/2010 - 16:30h

olha, procura na web sobre Filter... você implementa uma classe do seu jeito lá e configura no web.xml os caminhos à serem filtrados, ex.:

LoginFilter -> /Cadastro/*

dae tudo que começar com /Cadastro vai ter que passar pelo filtro, se tiver logado ok, se não manda pra página de login...

não sei se tem outra maneira de fazer, mas eu acho a mais fácil...


3. Re: Dúvida em login [RESOLVIDO]

Victor Guimarães Nunes
nunesvictor

(usa Ubuntu)

Enviado em 26/09/2011 - 17:40h

olha cara... sempre resolvo isso implementando Filtros... vc tem que criar uma classe que implemente javax.servlet.Filter
veja este exemplo

/**
*
* @author Victor Guimarães Nunes
*/
@WebFilter( filterName = "AuthFilter", urlPatterns = { "*.jsp" } )
public class AuthFilter implements Filter {

@Override
public void destroy() {
// DO NOTHING
}

@Override
public void doFilter( ServletRequest request, ServletResponse response, FilterChain chain )
throws IOException, ServletException {

HttpServletRequest httpServletRequest = ( HttpServletRequest )request;
HttpServletResponse httpServletResponse = ( HttpServletResponse )response;
HttpSession session = httpServletRequest.getSession();

// recupera usuario da sessao
Usuario usuario = ( Usuario )session.getAttribute( "logged_user" );

// ações antes de carregar a página verifica se o usuário fez login
// e se não está tentando acessar a página de login
if( usuario == null && !httpServletRequest.getRequestURI().endsWith( "login.jsp" ) ) {
// redireciona para a página de login
httpServletResponse.sendRedirect( httpServletRequest.getContextPath().concat( "/login.jsp" ) );
}

// continua o carregamento da página
chain.doFilter( request, response );
}

@Override
public void init( FilterConfig filterConfig ) throws ServletException {
// DO NOTHING
}
}

repare que na anotação @WebFilter tem o atributo urlPatterns que vc pode usar como lhe convir.
espero ter ajudado


4. Re: Dúvida em login [RESOLVIDO]

Fagner Amaral de Souza Candido
f_Candido

(usa Ubuntu)

Enviado em 26/09/2011 - 17:48h

Olá,

Usar filtros é uma excelente solução. Outra possível solução é usar a requisição e sessão para verificar isso.

Abraços


5. opa

Filippe
spolti

(usa Fedora)

Enviado em 26/09/2011 - 18:07h

Olá pessoal,

Consegui resolver isso a muito tempo atras,.....

Usei filtros de sessão, funcionou perfeitamente, tanto com servlets e jsps,. :)








Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts