页面树结构

版本比较

标识

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

...

问题描述

把报表集成到第三方系统,通过令牌登录方式实现了单独登录,但url拼接参数传值时传值失败。url格式如下:

http://10.10.202.17:18080/smartbi/vision/loginByToken?paramsInfo=[{"name":"产品类别","value":"饮料","displayValue":"饮料"}]&smartbiToken=267f8e7a69&targetPath=openresource.jsp?resid=Iff80818101845a315a31bfcd0184607630e60a22

...

原因分析

传参失败原因有三个

1、paramsInfo=[{"name":"产品类别","value":"饮料","displayValue":"饮料"}]放置的位置不正确。报表id和参数辅助都是一个整体,必须放到targetPath后,重定向时这些信息才不会丢失。

...

2、url存在中文,未进行base64编码

3、url存在特殊字符,未进行encode

...

解决办法

1、调整url参数位置

调整后url格式:http://10.10.202.17:18080/smartbi/vision/loginByToken?smartbiToken=267f8e7a69&targetPath=openresource.jsp?resid=Iff80818101845a315a31bfcd0184607630e60a22&paramsInfo=[{"name":"产品类别","value":"饮料","displayValue":"饮料"}]

...

调整后url格式:http://10.10.202.17:18080/smartbi/vision/loginByToken?smartbiToken=267f8e7a69&targetPath=openresource.jsp%3Fresid%3DIff80818101845a315a31bfcd0184607630e60a22%26paramsInfoBase64%3DW3sibmFtZSI6IuS6p%2BWTgeexu%2BWIqyIsInZhbHVlIjoi6aWu5paZIiwiZGlzcGxheVZhbHVlIjoi6aWu5paZIn1d

...

特殊情况

若操作后仍未解决,需检查第三步 encode前的url,openresource.jsp?resid=报表id 之间的的?和=号是否已经encode了,需还原后再把targetPath=后的整体值进行encode

...