Boa tarde…
Alguém poderia me indicar alguma apostila, ou artigo que fale sobre filter. Tenho o seguinte problema, mesmo o usuario nao tendo uma conta se ele mudar na url para index acessa minha pagina.
alguma sugestão?
Boa tarde…
Alguém poderia me indicar alguma apostila, ou artigo que fale sobre filter. Tenho o seguinte problema, mesmo o usuario nao tendo uma conta se ele mudar na url para index acessa minha pagina.
alguma sugestão?
Você pode fazer assim:
Declare o seu filtro no web.xml:
<filter>
<filter-name>Filtro Sessao</filter-name>
<filter-class>seuPacote.FiltroSessao</filter-class> //mude para seu pacote
</filter>
<filter-mapping>
<filter-name>Filtro Sessao</filter-name>
<url-pattern>/pastaPrivada/*</url-pattern> //mude para sua pasta
</filter-mapping>
e implemente o filtro:
public class FiltroSessao implements Filter {
public void init(FilterConfig config) throws ServletException {
}
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
HttpSession session = ((HttpServletRequest) req).getSession();
String usuario = (String) session.getAttribute("usuario"); //pode usar String ou qualquer objeto
if (usuario != null) {
chain.doFilter(req, res);
} else {
((HttpServletResponse) res).sendRedirect("/login.jsp"); //se não passar na validação do IF ele retorna para a pagina de login
}
}
public void destroy() {
}
}
Obs. Quando você fizer o login, terá que colocar o atributo que o Filter pega na sessão. Algo +/- assim:
String usuario = "seuUsuario";
session.setAttribute("usuario", usuario); //session é um objeto HttpSession
Era +/- isso que precisava?
[]´s
Daniel
Um bom link sobre filters: http://download.oracle.com/docs/cd/B25221_04/web.1013/b14426/filters.htm
Obrigada, é isso mesmo! =D