您的位置:首页 > 大数据 > 人工智能

saiku - 登陆/选择cube 时发生了什么

2015-10-14 22:56 711 查看
一 登陆saiku时发生了什么

大致流程

saiku 默认有admin和两个开发人员的身份
登陆saiku时,后台用户认证成功后创建了用户信息session
并在session中存储了随机生成的一个sessionId
这是每个用户对应唯一的一个身份id

然后访问
/saiku/rest/saiku/session  - GET 接口
获取存储的sessionId

如果获取到了sessionId 就开始构建saiku首页了
/saiku/rest/saiku/用户账号/discover


详细流程

访问 localhost:8080

1. 访问 /saiku/rest/saiku/info
2. 访问 /saiku/rest/saiku/ui-settings
3. 访问 /saiku/rest/saiku/session [GET] 这时还没登陆,没有sessionId,执行new LoginForm()操作创建登陆窗口

点击[login]按钮

4. 访问 /saiku/rest/saiku/session [POST] 附带用户名密码 进行用户身份验证 [sessionResource-login]
  验证成功后 将用户信息写入session 特别是sessionId
5. 执行Response.ok().build()返回请求页面[这时候是 /saiku/rest/saiku/session [GET]]
6. 此时通过 访问 /saiku/rest/saiku/session [GET]就能获取到写入的session 获取到了用户信息
7. 验证通过后 就访问 /saiku/rest/saiku/用户名/discover 接口去获取用户的cube等一系列信息了

注意:如果通过getSession一直获取不到用户的sessionId信息,那么始终会创建LoginForm登陆窗口


二 选择和切换cube时发生了什么

用浏览器跟踪,发现在选择cube后,saiku服务器会随机生成一个id字符串,用于交互时,保证唯一性。

如果再选另一个cube,重新提交了一个申请,saiku会自动先删除原先的id字符串,然后重新生成一个id字符串,作为一个新查询。
 http://IP:PORT/saiku/rest/saiku/登陆账号/query/4FF7D01E-8A6B-5EB4-991B-C0CE680A4BCA/result/flat 
其中:4FF7D01E-8A6B-5EB4-991B-C0CE680A4BCA 就是交互ID
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: