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
  • 相关阅读:
    20170411linux常用命令
    20170411oracle常用命令
    20170411-oracle 查询指定节点下的所有子节点包括直到叶子节点
    20170329oracle安装教程
    20170329plsql连接oracle
    20170329001怎么让plsql窗口列表保持
    Eclispse 换主题、皮肤、配色,换黑色主题护眼
    zbb20170303使用ssh一直找不到session,报错not found session in current thread
    zbb20170303_ant_build.xml详解
    hdu Farm Irrigation
  • 原文地址:https://www.cnblogs.com/avivaye/p/4881051.html
Copyright © 2011-2022 走看看