Filter para verificar todas as requisicoes pelo Spring Security

1 resposta
sarkozy

Eu quero rodar um metodo de verificação toda vez que o usuario fizer uma requisicao no sistema, pelo spring security.

Procurei d+ ja na documentacao e no google, mas nao achei nada que me ajudasse.

Alguem pode me ajudar?

Obrigado pela atenção!

1 Resposta

sarkozy

Resolvi criar uma classe interceptor. Mas preciso que ela rode antes de qualquer requisicao, menos na hora de fazer o login.

tentei criar um teste aqui, mas o interceptor nao funcionou

minha classe interceptor:

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;

public class HemisphereRequestsInterceptor implements HandlerInterceptor {
	@Override
	public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {

		System.out.println("Pre-handle");

		return true;
	}

	@Override
	public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
		System.out.println("Post-handle");
	}

	@Override
	public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
		System.out.println("After completion handle");
	}
}

spring-ws-servlet.xml:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:p="http://www.springframework.org/schema/p"
    xmlns:sws="http://www.springframework.org/schema/web-services"
    xmlns:oxm="http://www.springframework.org/schema/oxm"
    xmlns:mvc="http://www.springframework.org/schema/mvc"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns="http://www.springframework.org/schema/beans"
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
           http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
           http://www.springframework.org/schema/web-services
           http://www.springframework.org/schema/web-services/web-services-2.0.xsd
           http://www.springframework.org/schema/oxm 
           http://www.springframework.org/schema/oxm/spring-oxm-3.0.xsd
     	   http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
           " >
	
	<!-- XML de configuracao do spring-ws, aqui se encontram as classes de parser dos XMLs e definicoes de Endpoints -->
	
	<sws:annotation-driven />
	
	<mvc:interceptors>
      	<bean class="security.HemisphereRequestsInterceptor" />
    </mvc:interceptors> 
	
	<import resource="classpath:hemisphere-ws-definition.xml" />
	
    <bean id="loggingInterceptorHemisphere" class="org.springframework.ws.server.endpoint.interceptor.PayloadLoggingInterceptor"/>
   
    <oxm:jaxb2-marshaller id="marshaller" contextPath="ws.xml" />
    
    <bean class="org.springframework.ws.server.endpoint.adapter.GenericMarshallingMethodEndpointAdapter" >
        <constructor-arg ref="marshaller" />
    </bean>

</beans>

Não mostra erro, mas tb nao imprime as mensagens do interceptor.

Alguem pode me ajudar? O q estou fazendoo de errado?

Criado 5 de março de 2013
Ultima resposta 5 de mar. de 2013
Respostas 1
Participantes 1