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