2013-03-26 49 views
0

我们在Spring中有一组端点,并且对于每一个端点,我们可以要求用户包含安全密钥和令牌等。例如:Spring:检查每个端点上的标准查询参数

/endpoint?key=asdf&token=1234 

但是,我们不想重写每一个端点。有没有简单的方法来拦截每个电话,检查参数,然后传递给常规代码?

+1

使用过滤器还是拦截器?如果令牌有效,只能转发到常规代码。 – 2013-03-26 19:24:46

+0

我试图查找有关过滤器的信息,但我不明白它们是如何工作的。那里有没有好的参考? – Jason 2013-03-26 19:27:26

回答

2

Spring具有拦截器的概念,您可以在传递给适当的控制器之前预先处理请求。你可以定义你自己的拦截器实现HandleInterceptor或者扩展HandlerInterceptorAdapter看看这个:http://java.dzone.com/articles/using-spring-interceptors-your

+0

我相信@Jason正在使用spring web服务。它与弹簧mvc的设置相同吗? – 2013-03-26 19:28:40

+0

我没有使用Spring Webservices,但有一个EndpointInterceptor接口,它具有handleRequest方法。 – 2013-03-26 19:31:51