使用RestyGWT Rest服务进行基本身份验证?

时间:2012-03-14 20:56:27

标签: rest gwt resty-gwt

使用RestyGWT 休息服务时,如何设置基本身份验证用户ID和密码?

RestyGWT User Guide介绍了如何设置RestyGWT REST API 的基本身份验证中使用的用户ID和密码,但我没有找到任何描述如何使用RestyGWT 休息服务

我正在使用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);

2 个答案:

答案 0 :(得分:3)

我在过滤器方法中使用DispatcherFilter。

@Override
    public boolean filter(Method method, RequestBuilder builder)
    {
        ....
        builder.setHeader(KEY, value);
        ....
        return true;
    }

答案 1 :(得分:2)

我认为问题中提供的代码示例应该有效。我发现另一个人在RestyGWT服务中添加自定义标头时遇到问题,如this post中描述的RestyGWT组和Github中的this bug

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

public void getRestData(@HeaderParam("Authorization") String authHeader, MethodCallback<List<Workflow>> callback);