Saiku免登录嵌入其他系统使用(十一)
Saiku免登录嵌入其他系统使用
Saiku可通过iframe嵌入其他系统使用,但是正常情况下都需要先登录系统,然后还需要登录saiku,最后才能访问saiku中的数据
下面来讲解一下如何使Saiku不需要二次登录直接嵌入系统便可访问saiku配置好的数据。(本来想尝试做单点登录的,后来由于懒惰 技术不纯熟 就换了个简单的方式...)
思路: saiku中的用户信息要与当前系统的用户信息一一对应,比如 当前系统有个用户名为zhangsan的用户,saiku里面也要建立一个zhangsan的用户,
当前系统的用户密码可不用获取,默认设置saiku中用户的密码为123即可[在saiku中新建用户,用户名和系统中需要访问saiku数据的用户名保持一致,密码自己定,我这里设置为123]。
根据当前系统登录的用户,获取当前系统登录的用户的登录名(userid)zhangsan,然后将用户名信息作为参数放到访问saiku的url中即可。
Saiku新建用户:(admin登录Saiku系统)

web项目新建 index.jsp, 页面内容:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Saiku嵌入</title> </head>
<body>
<h3>saiku 本地 带 用户名和密码</h3>
<iframe id="testEmbed" src="" width="100%" height="850" frameborder="0" > </iframe> <!-- 这里src先设置为null,再通过jquery方法加载数据 -->
</html> <script type="text/javascript" src="./jquery.js"></script> <!-- 这里是引用jquery,我这里是引用自己下载的,命名也是手工的,可根据自己的jquery路径名字进行更改哦-->
<script type="text/javascript"> $(function() {// 初始化内容
var userid = "zhangsan"
alert(userid)
userid = userid.toUpperCase(); /*这是为了防止系统中登录不区分大小写,然saiku中的用户名都取大写,默认saiku用户的密码为123*/
alert(userid)
document.getElementById("testEmbed").src="http://10.22.33.44:8080/?username="+userid+"&password=123&plugin=false&mode=view#query/open//datasources/test.saiku";
});
</script>
</html>
重点解析:
http://10.22.33.44:8080/?username="+userid+"&password=123&plugin=false&mode=view#query/open//datasources/test.saiku
其中:
userid : 是当前系统登录的用户名,同时也要保证在saiku中有相同用户名,并且用户访问test.saiku数据信息的权限(ps: test.saiku对应的cube访问权限也需要开放)
/datasources/test.saiku : 是saiku中数据保存的路径
10.22.33.44:8080 ; 是访问saiku的url
userid : 是一个变量,指代saiku的用户名信息,这里赋值为 ZHANGSAN (前提需要现在先在saiku中新建用户 ZHANGSAN,且密码为 123,角色信息可以默认为ROLE_USER)
ps:关于saiku嵌入其他系统访问权限相关问题可参考以往的博客 saiku权限控制:https://www.cnblogs.com/DFX339/p/10318098.html
简要概括: 根据当前系统登录的用户,在saiku中建立对应用户,通过saiku角色来控制访问saiku的文件以及cube信息的权限。
Saiku免登录嵌入其他系统使用(十一)的更多相关文章
- [py][mx]django的cookie和session操作-7天免登录
浏览器同源策略(same-origin policy) csrf攻击防御核心点总结 django的cookie和session操作-7天免登录 flask操作cookie&django的see ...
- Saiku通过iframe嵌入web页面(六)
Saiku通过iframe嵌入系统页面 前提: Saiku已安装好,并且配置了数据源,熟练了saiku的基本使用. 一.将整个Saiku嵌入页面 在web项目中,新建index.jsp页面,内容如下: ...
- 如何将Superset嵌入后台系统之实践
1. 前言 此次实践过程全属个人学习,我选择了在window下安装Superset,并进行嵌入后台系统实践.对此进行实践过程总结,实践成果分享给大家,供大家参考,如果你有更好的想法,欢迎留言交流. 2 ...
- ssh 免登录配置
引子 近日海淘了一个 mini-PC:Gigabyte GB-BSRE-1605,此设备虽采用 amd 嵌入式低功耗处理器,性能相比现在自己所用的设备却有不小提升,加上先前升级电脑多余一些 ssd 和 ...
- SourceTree 免登录跳过初始设置 - 转
转自:http://www.cnblogs.com/xiofee/p/sourcetree_pass_initialization_setup.html 在SourceTree的配置目录新建(或修改) ...
- 火车采集器 帝国CMS7.2免登录发布模块
帝国cms7.2增加了金刚模式,登录发布有难度.免登录发布模块配合火车采集器,完美解决你遇到的问题. 免登录直接获取栏目列表 通过文件内设置密码免登录发布数据 帝国cms7.2免登陆文章发布接口使用说 ...
- hadoop中master免登录slave
hadoop集群免登录配置 在主机master上执行如下: 1. $cd ~/.ssh(如果没有此目录,可以手动创建) 2. $ssh-keygen -t rsa ----------------- ...
- linux 多台 主机的免登录ssh的配置
1.首先检查 有没有安装ssh rpm-qa | grep ssh 如果没有安装 yum install ssh 2.在每一台机器上执行 ssh-keygen -t rsa 会在root/.ssh ...
- Android系统--输入系统(十一)Reader线程_简单处理
Android系统--输入系统(十一)Reader线程_简单处理 1. 引入 Reader线程主要负责三件事情 获得输入事件 简单处理 上传给Dispatch线程 InputReader.cpp vo ...
随机推荐
- ubuntu(centos) server安装vmware tools
Ubuntu: root登录ubutun $ sudo su vmware中选择菜单虚拟机->安装VMware Tools 命令行如下 // 将cdrom挂载到mnt $ mount -t is ...
- [macOS] PHP双版本,5.6跟7.1
转过来的,原文看这里,https://www.symfony.fi/page/how-to-run-both-php-5-6-and-php-7-x-with-homebrew-on-os-x-wit ...
- Select input 两个元素的宽度高度跟设定值不一致的问题
在做登录框的时候,需要一个select 元素作为账号输入,一个input作为密码输入框.在css 文件中,将这两个元素的position 设置为relative ,并且width 设置为100%.刷新 ...
- Feign 与 Hystrix
Feign 与 Hystrix Feign是一个声明式的web服务客户端,它使得web服务调用非常的简单,当我们使用Feign时,Spring Cloud 整合了Ribbon和Eureka,从而为我们 ...
- JavaScript中的变量提升和函数提升
在EcmaScript5中只有全局作用域和函数作用域,EcmaScript6增加了块级作用域. 块级作用域(一对花括号{}即为一个块级作用域) 变量提升 console.log(name); //un ...
- flutter key
随意点开一个Widget,就会发现,可以传递一个参数Key.那这个Key到底是干啥子,有什么用呢? Flutter是受React启发的,所以Virtual Dom的diff算法也参考过来了(应该是略有 ...
- APScheduler(Python化的Cron)使用总结 定时任务
APScheduler(Python化的Cron)使用总结 简介 APScheduler全程为Advanced Python Scheduler,是一款轻量级的Python任务调度框架.它允许你像Cr ...
- Java基础学习-Java语言概述
一.Java语言发展史 创始人:詹姆斯·高斯林(James Gosling) 公司:SUN——(Stanford University Network斯坦福大学网络公司) 1995年5月23日,Jav ...
- Python作业
1使用while 循环输入1,2,3,4,5,6,,8,9,10 count = 0 while count<10: count+=1 if count ==7: continue print( ...
- ComponentOne 产品经理:为什么要从C1Report迁移到FlexReport
概述 如果你正在使用ComponentOne Enterprise 的Reports for WinForm 报表控件(C1Report),你一定会喜欢更为强大的FlexReport! FlexRep ...