2

使用 RestyGWT Rest Services时如何设置 Basic Auth 用户 ID 和密码?

RestyGWT用户指南描述了如何设置用于 RestyGWT REST API基本身份验证的用户 ID 和密码,但我还没有找到任何描述如何使用 RestyGWT Rest Services进行基本身份验证的文档

我正在使用 RestyGWT v1.2

** * **更新** * **** 我尝试了以下没有运气。当我调用服务方法时,浏览器仍在打开用户 ID / 密码提示。

final Map<String, String> headers = new HashMap<String, String>();
headers.put("Authorization", "Basic anJvYmPpbnKAbGl4ZXByb2N4c3OuZ29tOmpyb2JiaW6z");
final Resource workflowResource = new Resource("", headers);
((RestServiceProxy)workflowService).setResource(workflowResource);
4

2 回答 2

3

我在过滤器方法中使用 DispatcherFilter 来完成它。

@Override
    public boolean filter(Method method, RequestBuilder builder)
    {
        ....
        builder.setHeader(KEY, value);
        ....
        return true;
    }
于 2013-05-23T15:07:56.723 回答
2

我认为问题中提供的代码示例应该可以工作。我发现另一个人在将自定义标头添加到 RestyGWT 服务时遇到问题,如在RestyGWT 组的这篇文章和Github 中的这个 bug中所述。

作为临时解决方法,我使用 @HeaderParam 并通过 RestService 方法调用传递 Base64 编码的 Authorization 标头。

public void getRestData(@HeaderParam("Authorization") String authHeader, MethodCallback<List<Workflow>> callback);
于 2012-03-23T20:46:46.557 回答