1

我正在使用 Pentaho CDE,我正在尝试使用 Saiku Widget 将 Saiku 分析文件放入仪表板中。

但是,我在屏幕上和浏览器控制台中收到No Data消息,我收到错误401 - Bad Credentials

当我直接从浏览器访问 Saiku URL 时,我收到 JSON 响应。它不适用于 pentaho CDE 仪表板。

有人可以帮我解决这个问题吗?

4

1 回答 1

0

您必须编辑文件 /biserver-ce/pentaho-solutions/system/saiku/ui/js/saiku/embed/SaikuEmbed.js 然后重新启动 bi-server,因为该文件的内容在 CDF.js 中被缩小了

在这个 SaikuEmbed.js 中,用户和密码设置在

var _settings = {
    server: '/saiku',
    path: '/rest/saiku/embed',
    user: 'admin',
    password: 'admin',
    blockUI: false
};

但我没有用户管理员和密码管理员,所以当它尝试在 ajax 之前进行验证时,调用它需要 401 授权的堆栈。

我修改了

beforeSend: function(request) {
    if (self.settings.user && self.settings.password) {
        var auth = 'Basic ' + Base64.encode(
           self.settings.user + ':' + self.settings.password
        );
       request.setRequestHeader('Authorization', auth);
       return true;
    }
},

beforeSend: function(request) {
    if (Dasboards.context.user) {
       return true;
    }
},

如果需要,您可以在发送前评论所有内容。

于 2016-07-08T10:16:32.203 回答