泽西岛的身份validation

我想为我的基于Jersey0的服务器/客户端REST实现身份validation,但我不确定如何布置代码。

基本上对于每个操作我有2个方法 – 从服务器端1个,从客户端1个。

我缩小了算法范围 – 我将使用亚马逊策略和HMAC。

问题是如何在代码中列出这个 – 我应该将身份validation(加密/解密代码)添加到每个方法 – 服务器/客户端还是我应该在两端都有一个“dispatch”方法来执行加密/解密,然后将执行控制转移到一个更专业的版本,这将我有一个中心位置,在客户端或服务器进行身份validation?

我愿意听听你对此的评论吗?

客户端:

您只需创建ClientFilter并将其添加到filter链中。 您可以拥有两个客户端(或更多),例如一个用于经过身份validation的请求,另一个用于其他请求,因此您不应浪费任何资源。

见http://jersey.java.net/nonav/apidocs/1.12/jersey/com/sun/jersey/api/client/filter/ClientFilter.html

服务器端:

与服务器端类似,您可以实现Request / ResponseContainerFilter,它将处理身份validation。 默认情况下,这些filter是全局的,但您可以通过实现ResourceFilterFactory缩小其范围,然后仅连接到适当的资源(端点)。

或者你可能有2场战争,一场是“安全”资源,一场是其他战争。

看到
http://jersey.java.net/nonav/apidocs/1.12/jersey/com/sun/jersey/spi/container/ResourceFilterFactory.html
http://jersey.java.net/nonav/apidocs/1.12/jersey/com/sun/jersey/spi/container/ContainerRequestFilter.html
http://jersey.java.net/nonav/apidocs/1.12/jersey/com/sun/jersey/spi/container/ContainerResponseFilter.html