我有:
无论我尝试什么,我一直在为此而奋斗:
ClientResource r = new ClientResource("/service" + UsersServiceProxy.URL);
r.setChallengeResponse(ChallengeScheme.HTTP_BASIC, "user1", "secret");
r.setOnResponse(new Uniform() {
public void handle(Request request, Response response) {
.....
}
});
r.get();
或者这段代码:
UserServiceProxy userService = GWT.create(UserServiceProxy.class);
userService.getClientResource().setReference(url);
userService.getClientResource().setChallengeResponse(new ChallengeResponse(ChallengeScheme.HTTP_BASIC, "user1", "secret"));
userService.getUser(username + ":" + password, new Result<User>() {
@Override
public void onFailure(Throwable caught) {
......
}
@Override
public void onSuccess(User user) {
.....
}
});
问题:
在服务器端,没有收到ChallengeResponse(== NULL)。使用wireshark进行调试显示没有通过线路发送“授权:”。
使用Chrome开发工具我可以看到XHR请求已发送到:http://user1:secret@127.0.1.1:8888/service/user
所以这里,用户名/密码是传递给服务器而不是身份验证标头? 如何访问这些服务器端?
我的设置不正确吗? 这是this bug的回归吗?
答案 0 :(得分:0)
在Restlet GWT Edition 2.1RC1中没有发送授权标头,我提交了一个补丁,至少修复了BASIC auth,所以我可以继续。
答案 1 :(得分:0)
此错误已得到修复。请参阅下一个2.1 RC2和2.0.11版本。
有关此修复程序的更新,请参阅此问题: http://restlet.tigris.org/issues/show_bug.cgi?id=1060