页面树结构

版本比较

标识

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

...

在Tomcat/conf/server.xml文件中,可以在请求端口的配置中添relaxedPathChars="|{}[],%"relaxedQueryChars="|{}[],%" 两个参数同样也可解决该问题,特殊情况下还需要多添加一个URIEncoding="UTF-8" 的参数,避免因为字符集导致的转码异常。

注意:若为window一键安装部署Tomcat,默认情况下这些参数是已经添加过的。注意:若为一键安装部署的Tomcat,默认情况下这些参数是已经添加过的。


测试html文件:open.html (测试资源仅提供测试验证以及参考,实际的集成时请以实际场景为准)

...

代码块
http://localhost:18080/smartbi/vision/openresource.jsp?resid=I402881e5019608c408c4fb7801960e2ec9b42d3d&W3sibmFtZSI6IuS6p%2BWTgeWQjeensCIsICJ2YWx1ZSI6IuWNjuWMlyIsImRpc3BsYXlWYWx1ZSI6IuWNjuWMlyJ9XQ%3D%3D


测试页面

base64加密:https://www.bejson.com/enc/base64/

url转码https://www.sojson.com/encodeurl.html


测试html文件:open.html (测试资源仅提供测试验证以及参考,实际的集成时请以实际场景为准)

...

代码块
// V10版本加密之后的令牌
54f296bd4649b0d44628a5c32faee32b8dcc1603e65f5926bcff5ecd042f5176ebefa28274987245be277798ca3175c6ac93f1e0ae92bd16841e7713b31959e6edf967ea6f13b4bc
// V11版本DES算法加密之后的令牌
T0_VPKWvUZJsNRGKKXDL67jK43MFgPmX1kmvP9ezQQvUXbr76KCdJhyRb4nd5jKMXXGrJPx4K6SvRaEHncTsxlZ5u35Z+pvE7S8
// V11版本AES算法加密之后的令牌
T1_DNEJke1569+HbJtUBb9a4m9l1ZtI4UR4CGUfwn+mMsuuw9PkNKoHAchSpoXDxc0CsFgVwVMlibe9uOa+QliqOrNxg05qz7ZzDlHNLYCsvi6kmliCNBPio2MstouYIw==

...


(3)令牌转码

拿到令牌之后我们可以看到如下令牌他是存在特殊字符的,又因为令牌单点一般都是通过get请求来提交令牌参数,此时就可能会出现上一章节的相同问题:。此时就需要对令牌进行url转码,如果是Java拿到令牌之后我们可以看到如下令牌他是存在特殊字符的,又因为令牌单点一般都是通过get请求来提交令牌参数,此时就可能会出现上一章节的相同问题:2、url转码。此时就需要对令牌进行url转码,如果是Java系统可以使用 java.net.URLEncoder.encode(token, "UTF-8")进行转码,js代码则可以使用encodeURIComponent函数来进行转码。如果说不转码的情况下拼接地址访问之后,同样会出现问题1“解析令牌失败”的问题。

...

拼接的单点地址需要使用loginByToken,然后smartbiToken参数用来指定token:"http://localhost:8080/smartbi/vision/loginByToken?smartbiToken=" + encodedToken;

(5)拼接登录后的跳转请求

登录完成之后,需要使用targetPath参数来指定跳转之后需要拼接的地址,这个地址在拼接到最终请求之前同样需要进行url转码,否则在openresource的请求里,当设置集成报表的参数时,会将集成的参数当成是登录完成之后,需要使用targetPath参数来指定跳转之后需要拼接的地址,这个地址在拼接到最终请求之前同样需要进行url转码,否则在openresource的请求里,当设置集成报表的参数时,会将集成的参数当成是loginByTokenq请求的参数,导致openresource请求传参失败,具体可以参考如下图中的请求参数信息。


最终拼接访问的请求如下:

代码块
http://localhost:18080/smartbi/vision/loginByToken?smartbiToken=T1_DNEJke1569%2BHbJtUBb9a4m9l1ZtI4UR4CGUfwn%2BmMsuuw9PkNKoHAchSpoXDxc0CsFgVwVMlibe9uOa%2BQliqOrNxg05qz7ZzDlHNLYCsvi6kmliCNBPio2MstouYIw%3D%3D&targetPath=openresource.jsp%3Fresid%3D2472fece6b5e9162c5ecf31425ac3b6c%26paramsInfo%3D%255B%257B%2522name%2522%253A%2522%25E5%258F%2591%25E8%25B4%25A7%25E5%258C%25BA%25E5%259F%259F%2522%252C%2522value%2522%253A%2522%25E5%258D%258E%25E5%258C%2597%2522%252C%2522displayValue%2522%253A%2522%25E5%258D%258E%25E5%258C%2597%2522%257D%255D