zoukankan      html  css  js  c++  java
  • [saiku] 登陆/选择cube 时发生了什么

    一 登陆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
  • 相关阅读:
    ECMAScript6——异步操作之Promise
    ECMAScript6——Set数据结构
    浅复制与深复制
    构造HTTP请求Header实现"伪造来源IP"
    Matlab图像直方图相关函数
    蓝蓝设计 使用全屏照片的网页设计欣赏
    JRainbow开发进度
    组合之01转换法
    python 学习笔记 9 -- Python强大的自省简析
    幻世(OurDream)2D图形引擎易语言汉化版更新提示
  • 原文地址:https://www.cnblogs.com/avivaye/p/4881051.html
Copyright © 2011-2022 走看看