1

我正在开发一个部署一些 RESTful Web 服务的应用程序,我想使用 HMACSHA512 签名方法,但不想在每个已发布的 Web 服务中实现它。

所以我正在寻找一种在请求到达 REST WS 之前拦截请求的方法,并有一个自定义类,该类基于 HttpHeaders/UriInfo/etc 和 HMAC 摘要等,将决定它是否有效并转发到 REST WS 或拒绝它。

我看到了一些关于 ResourceFactoryFilter 的东西,向 web.xml 添加过滤器等,但我迷路了..

任何有这方面知识的人都可以给我一些关于如何实现它的提示?特别是实现这一目标的最佳方式以及各部分如何交互。

我如何想象我想做的事情:客户端 <-> 拦截器 -> REST WS -> ...</p>

感谢您的时间。

PS:我想在没有像 Spring 这样的第三方框架的情况下实现这一点。

4

1 回答 1

1

最简单的方法是编写一个 ServletFilter 类,您在 web.xml 中为您要检查的特定 URL 前缀配置该类。

该类将有一个doFilter方法,并在该方法中进行验证。如果成功,则通过调用继续处理chain.doFilter();否则抛出异常。

于 2012-07-06T16:19:05.147 回答