页面树结构

版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。


目录

1. 概述

1.1. 功能介绍

用于资源集成中,用约定的密钥去加密用户信息形成token,加密传输用户信息产品在系统集成时,默认是以明文密码的方式传输用户信息,存在安全隐患。如若不想使用明文的形式传输用户信息,可通过“令牌登录”功能使用预设的密钥去加密用户信息形成令牌token,加密传输用户信息

1.2. 原理

客户端使用密钥加密用户登录信息形成token,将token以及目标跳转界面以参数形式携带在url上,访问指定地址,Smartbi服务器拦截到请求后,解析出用户信息,将用户设置为登录状态,再重定向到目标界面。

当请求携带有令牌登录参数以及目标跳转地址,进行token信息的校验后,其中token信息使用DES加密,如果成功解析出用户信息,则将用户设置为登录状态,再重定向到对应地址,,以后客户端只需带上这个Token前来请求数据即可,无需再次带上用户名和密码。

1.3. 名词释义

token:token是客户端使用密钥加密用户登录信息形成一串字符串,以作客户端进行请求的一个令牌。

2. 功能详解

2.1. 令牌登录配置

访问Smartbi的Config配置界面,配置令牌登录的信息:密钥、超时时间等

配置项说明
密钥

用来解密token信息。客户端需要用密钥来进行加密用户信息。当密钥没有设置或为空字符串时,表示不支持令牌登录这种方式。密钥最小长度是8,当密钥大于8位时,实际上也只有前8位有效;

令牌超时时间

token有效时间。当【服务器解析请求时间戳 - token的生成的时间戳 > 超时设置 】成立时,则代表token已超时,不能进行登录;

需要校验密码

设置token中是否要包含密码,使用密码来进行登录。

  • 勾选  ,则在校验token信息时,解析出密码,再使用账号密码登录;
  • 勾选  ,则直接将用户设置为登录状态。

2.2. 

生成令牌

生成令牌Token

Token的结构参考如下:

代码块
languagejs
linenumberstrue
{

	"timestamp":时间戳

username:用户名

password:可选,用户密码

}
,
	"username":"用户名",
	"password":"可选,用户密码"
}


注意
token为json格式,其中双引号不可以缺少


使用smartbi-DESUtil.jar”的工具类的encrypt方法来加密token来获得令牌,其中加密类是:DESCryption

该类提供加密、解密方法:

2.3. 使用token登录

链接格式:http://ip:port/smartbi/vision/loginByToken?smartbiToken=用户信息加密串&targetPath=目标跳转链接及其参数

链接格式解析

作用

ip:port

Smartbi系统服务器地址端口

smartbiToken 

令牌,即使用DES加密的token信息

targetPath

目标跳转界面,当token

校验结束后,直接重定向到该地址,只接受相对路径,注意:若该参数值含有特殊符号,需要特殊处理,例如使用encodeURIComponent转义

校验结束后,直接重定向到该地址,只接受相对路径。

注意
若该参数值含有特殊符号,需要特殊处理,例如使用encodeURIComponent转义


常用集成界面示例:

  • Web端首页:
代码块
http://localhost:8080/smartbi/vision/loginByToken?smartbiToken=54f296bd4649...&targetPath=index.jsp
  • Web端集成资源:
代码块
http://localhost:8080/smartbi/vision/loginByToken?smartbiToken=54f296bd4649...&targetPath=openresource.jsp%3Fresid%3DI2c94ea86298cbe6c01298cfd9ba900fa
  • 移动端首页:
代码块
http://localhost:8080/smartbi/vision/loginByToken?smartbiToken=54f296bd4649b0d41c35..&targetPath=mobileX%2Findex
  • 移动端集成资源:
代码块
http://localhost:8080/smartbi/vision/loginByToken?smartbiToken=54f296bd4649b0d41....&targetPath=mobileX%2Freport%3Fresid%3DI2c94ea86298cbe6c01298cfd9ba900fa

4. 示例

web项目使用令牌登录集成Smartbi:使用令牌登录示例.zip