客户端使用密钥加密用户登录信息形成token,将token以及目标跳转界面以参数形式携带在url上,访问指定地址,Smartbi服务器拦截到请求后,解析出用户信息,将用户设置为登录状态,再重定向到目标界面。
相关配置都在 Smartbi config.jsp 配置界面上的“令牌登录”
Token的结构如下:
{
timestamp:时间戳
username:用户名
password:可选,用户密码
}
SmartBi提供DES加密jar包来加密token:smartbi-DESUtil.jar,其中加密类是:DESCryption
该类提供加密、解密方法:
链接格式:http://ip:port/smartbi/vision/loginByToken?smartbiToken=用户信息加密串&targetPath=目标跳转链接及其参数
链接格式解析 | 作用 |
---|---|
ip:port | Smartbi系统服务器地址及端口 |
smartbiToken | DES加密的用户信息(如何生成token,见上方【生成令牌】章节) |
targetPath | 目标跳转界面,当token校验结束后,直接重定向到该地址,只接受相对路径,注意:若该参数值含有特殊符号,需要特殊处理,例如使用encodeURIComponent转义 |
常用集成界面示例:
http://localhost:8080/smartbi/vision/loginByToken?smartbiToken=54f296bd4649...&targetPath=index.jsp |
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 |