Restrição no servelet

3 respostas
W

Bom dia pessoal,

Preciso fazer uma restrição no servlet que é aseguinte:

pegar o endereco ip do request e verificar se é o mesmo em que a aplicacao esta rodando, se for blz deixar continuar o processo, caso contrario manda uma mensagem de acesso negado.

3 Respostas

g4j

Dá pra interceptar as execuções usando Filter da api de servlets.

W

Galera preciso de exemplos de código pois servlet sou iniciante!

Valeu pela resposta rápida!!

g4j

wagner1308:
Galera preciso de exemplos de código pois servlet sou iniciante!

Valeu pela resposta rápida!!

então, seria lega você ler um pouco sobre o conceito de filtros, mas abaixo está um exemplo:

package com.sistema.filtros;
public class IPFilter implements Filter {

	public void init(FilterConfig config) throws ServletException {
		
	}
	
	public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain chain) throws IOException, ServletException {
		//código antes de chegar na execução do servlet

        
		HttpServletRequest request = (HttpServletRequest) servletRequest;
		String ip = pega o ip...
		if (teste do ip for ok) {
			//executa o servlet ou o próximo filtro se tiver
			chain.doFilter(servletRequest, servletResponse);
		} else {
			request.getRequestDispatcher("iperrado.jsp").forward(servletRequest, servletResponse);
		}
		
		//código depois da execução do servlet
	}

	public void destroy() {
	
	}

}

precisa declarar o filtro no web.xml também:

<filter>
   <filter-name>Filtro de IPr</filter-name>
   <filter-class>com.sistema.filtros.IPFilter</filter-class>
</filter>
Criado 4 de fevereiro de 2010
Ultima resposta 4 de fev. de 2010
Respostas 3
Participantes 2