【问题标题】:Authentication in Jersey [closed]泽西岛的身份验证[关闭]
【发布时间】:2012-02-27 09:49:28
【问题描述】:

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

基本上,对于每个操作,我都有 2 种方法 - 1 种来自服务器端,1 种来自客户端。

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

问题是如何在代码中进行布局——我应该将身份验证(加密/解密代码)添加到每个方法中——无论是服务器端还是客户端,还是应该在双方都有一个“调度”方法来执行加密/解密,然后将执行控制转移到更专业的版本,这样我将有 1 个中心位置在客户端或服务器中完成身份验证?

我愿意听听你们的意见吗?

【问题讨论】:

标签: java authentication jersey code-design


【解决方案1】:

客户端:

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

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

服务器端:

与服务器端类似,您可以实现 Request/ResponseContainerFilter(s),它将处理身份验证。这些过滤器默认是全局的,但您可以通过实现 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-04-12
    • 1970-01-01
    • 1970-01-01
    • 2011-06-29
    • 1970-01-01
    • 1970-01-01
    • 2014-10-06
    相关资源
    最近更新 更多