我正在使用 Pentaho CDE,我正在尝试使用 Saiku Widget 将 Saiku 分析文件放入仪表板中。
但是,我在屏幕上和浏览器控制台中收到No Data消息,我收到错误401 - Bad Credentials。
当我直接从浏览器访问 Saiku URL 时,我收到 JSON 响应。它不适用于 pentaho CDE 仪表板。
有人可以帮我解决这个问题吗?
我正在使用 Pentaho CDE,我正在尝试使用 Saiku Widget 将 Saiku 分析文件放入仪表板中。
但是,我在屏幕上和浏览器控制台中收到No Data消息,我收到错误401 - Bad Credentials。
当我直接从浏览器访问 Saiku URL 时,我收到 JSON 响应。它不适用于 pentaho CDE 仪表板。
有人可以帮我解决这个问题吗?
您必须编辑文件 /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;
}
},
如果需要,您可以在发送前评论所有内容。