A maior rede de estudos do Brasil

Grátis
6 pág.
login filtro - jsp

Pré-visualização | Página 2 de 2

e JSP’s de uma área 
restrita de nossa aplicação, a área será definida pelo prefixo /admin (a pasta admin 
criada acima), nesse caso seria uma área de administração, por exemplo, com conteúdo 
restrito. 
package br.ufrj.cos.zavaleta; 
import java.io.IOException; 
import javax.servlet.Filter; 
import javax.servlet.FilterChain; 
import javax.servlet.FilterConfig; 
import javax.servlet.ServletException; 
import javax.servlet.ServletRequest; 
import javax.servlet.ServletResponse; 
import javax.servlet.http.HttpServletRequest; 
import javax.servlet.http.HttpServletResponse; 
import javax.servlet.http.HttpSession; 
public class FiltroSeguranca 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(); 
 Usuario usuario = (Usuario)session.getAttribute("usuario"); 
 if(usuario==null){ 
 session.setAttribute("msg","Você não está logado no sistema!"); 
 ((HttpServletResponse)res).sendRedirect("../index.jsp"); 
 }else{ 
 chain.doFilter(req, res); 
 } 
 } 
 public void destroy() { 
 } 
} 
 
 Edite o arquivo web.xml e adicione as seguintes linhas abaixo de </welcome-file-list> 
 <filter> 
 <filter-name>Filtro Seguranca</filter-name> 
 <filter-class>br.ufrj.cos.zavaleta.controller.FiltroSeguranca</filter-class> 
 </filter> 
 <filter-mapping> 
 <filter-name>Filtro Seguranca</filter-name> 
 <url-pattern>/admin/*</url-pattern> 
 </filter-mapping> 
 
 9. Finalizando 
Acesse novamente o endereço http://localhost:8084/WenFilterJSP/admin/logado.jsp, 
dessa vez não será possível acessar a página sem antes logar. 
10. O processo 
Ao fazer uma requisição a /admin/logado.jsp o pattern bate com o configurado no filter-
mapping, assim é chamado primeiramente o filtro, no método doFilter() é verificada a 
existência do atribute “usuario” na sessão, caso exista é porque o usuário está logado, 
então o método doChain() libera a execução do Servlet, caso o atributo seja nulo, o 
usuário é redirecionado para a pagina de login, e o Servlet (JSP) sequer é executado. 
 
Jorge J Zavaleta 
zavaleta@cos.ufrj.br

Crie agora seu perfil grátis para visualizar sem restrições.