Olá galera boa tarde!
Pessoal , estou com o seguinte problema:
Contextualizando:
Temos uma tela de login.xhtml, onde ao acessar o sistema o usuário é redirecionado automaticamente. O Problema consiste no momento de consistir os dados de entrada através de filtros de sessão.
Primeiramente estou usando JSF 2.0 e SERVLET FILTER, ou seja, estou usando um filtro para verificar se o usuário está realmente logado no sistema (Se o mesmo está devidamente registrado na sessão) , ou se simplesmente acessou pelo URL diretamente, neste caso, o mesmo deverá ser redirecionado para a tela de login.xhtml.
Até ai, tudo bem, consegui fazer o tratamento e saber se o usuário está logado ou não em cada situação, o problema é que não estou conseguindo redirecionar o usuário de volta para a página de login quando o mesmo não possui permissão, ou seja, não está logado adequadamente.
Código do meu filtro:
FiltroSessao.java
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
HttpSession sessao = ((HttpServletRequest) request).getSession();
if(sessao.getAttribute("usuario") == null){
System.out.println("USUÁRIO NÃO AUTORIZADO");
((HttpServletResponse) response).sendRedirect("../login/login.jsf");
return;
}
else{
System.out.println(sessao.getAttribute("usuario"));
System.out.println("USUÁRIO LOGADO");
}
chain.doFilter(request, response);
}
Web.xml:
<filter>
<filter-name>Filtro</filter-name>
<filter-class>utils.FiltroSessao</filter-class>
</filter>
<filter-mapping>
<filter-name>Filtro</filter-name>
<url-pattern>*.jsf</url-pattern>
</filter-mapping>
Estou redirecionando minha aplicação a partir de um arquivo html, que será a primeira página a abrir no sistema antes de redirecionar para o login.
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="refresh" content="2;url=content/login/login.jsf">
<title>Insert title here</title>
</head>
<body>
</body>
</html>
Configurei meu eclipse para abrir no FIREFOX, portanto o erro está sendo apresentado no navegador do FIREFOX. Ele simplesmente não reconhece o URL aberto.
Testamos no IE 8 e o aplicativo entra em lopping e cai sempre na mesma condição de usuário não autorizado do FILTRO, ou seja, a página de login nem é aberta.
Pessoal, vocês tem alguma idéia do que possa ser ??
Já pesquisei MUITO , mas não achei nada esclarecedor.
Muito obrigado , desde já.
abraços !