Dojo JsonRest基本身份验证

pw136qt2  于 2022-12-16  发布在  Dojo
关注(0)|答案(1)|浏览(158)

我想使用Dojo JsonRest从REST服务读取JSON数据。REST服务需要用户名和密码作为基本验证字符串。开始时,我硬编码了这个字符串。现在,我尝试了以下操作:

var processStore = new JsonRest({
    target: "http://host/activiti-rest/service/repository/process-definitions?startableByUser=gonzo", 
    allowNoTrailingSlash: false,
    user: "test",
    password: "test"
    });

但这并不奏效。因此我的问题是:如何使用Dojo JsonRest发送基本身份验证凭据?

g2ieeal7

g2ieeal71#

您可以尝试以下两种方法之一:
1)将用户名和密码放在目标URL中,如下所示:

var processStore = new JsonRest({
    target: "http://username:password@host/activiti-rest/service/repository/process-definitions?startableByUser=gonzo", 
    allowNoTrailingSlash: false
});

如果用户名是电子邮件地址,则:

var processStore = new JsonRest({
    target: "http://useremail%40whatever.com:password@host/activiti-rest/service/repository/process-definitions?startableByUser=gonzo", 
    allowNoTrailingSlash: false
});

2)使用JsonRest的标头属性:

var encodedLogin = "Basic " + window.btoa("username:password");
var processStore = new JsonRest({
    target: "http://host/activiti-rest/service/repository/process-definitions?startableByUser=gonzo", 
    allowNoTrailingSlash: false,
    headers: {
        Authorization: encodedLogin
    }
});

此解决方案对用户名和密码组合字符串使用base64编码,然后将其与“Authorization”头参数一起发送。

相关问题