Bem-Vindo, Visitante
Username: Password: Lembrar-me
Publique dúvidas e ajude seus colegas com soluções e experiências vivenciadas
  • Página:
  • 1

TÓPICO: Classe AutorizadorInterceptor

Classe AutorizadorInterceptor 8 anos 6 mêses atrás #1

  • nadinael
  • nadinael's Avatar
  • OFFLINE
  • Novato
  • Postagens: 1
  • Karma: 0
public class AutorizadorInterceptor extends HandlerInterceptorAdapter {

@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)throws Exception {
String uri = request.getRequestURI();
if (uri.endsWith("menu") || uri.endsWith("efetuaLogin") || uri.contains("resources")) {
System.out.println("PRIMEIRO IF");

return true;
}

if (request.getSession().getAttribute("login") != null) {
System.out.println("ATRIBUTO USUARIO LOGADO");

return true;
} else {
response.sendRedirect("menu");
System.out.println("sem usuarios logados, redirecionando para menu(index)");
return false;
}

}

}
qual a utilidade dos primeiros e segundo metodos? em especial, qual a importancia dessee trecho " uri.contains("resources")" em especial?
O administrador desabilitou o acesso público de escrita.

Classe AutorizadorInterceptor 8 anos 6 mêses atrás #2

  • ronaldo
  • ronaldo's Avatar
  • OFFLINE
  • Administrador
  • Postagens: 22
  • Thank you received: 7
  • Karma: 1
Nadinael,

Interceptors funcionam como filtros.
Como pode ser observado a classe é extendida da classe abstrata HandlerInterceptorAdapter, e o método preHandle é sobrescrito (além do preHandle, existe também o posHandle, entre outros).

Nesse caso, a implementação do método "monitora" todas as URLs antes que elas sejam processadas, especificamente nesse exemplo é verificado o que contém na URL a ser processada, através do método contains da classe String "uri.contains("resources")", caso contenha resources, que é onde estão os recursos adicionais como biblioteca JQuery, imagens, CSS, do sistema, ou caso termine com os nomes login e efetuaLogin, que são os endereços que o sistema redirecionará para o formulário de login. Desse modo o método retorna um valor booleano true quando a URL a ser processada for uma das indicadas anteriormente, ou caso já exista uma sessão registrada, caso contrário retorna false.
O administrador desabilitou o acesso público de escrita.
  • Página:
  • 1
Tempo de criação da página: 0.166 segundo(s)

Destaques

Links Importantes