# 将SuccBI页面嵌入到第三方系统

页面嵌入的方式有很多种,最简单有效的是用iframe来嵌入。在第三方系统的页面中配置一个HTML的iframe元素,并配置src属性为如下url以实现页面嵌入:

<iframe src="{第三方系统部署地址}/sso?redirectUrl=https://example.com/examples/ana/example1.dash"></iframe>

TIP

  • 若是需要在不同域名下嵌入SuccBI,需要完成跨域相关配置。
  • 若需要让用户免登录访问SuccBI,需要配置单点登录

# 单点登录

  • 如果第三方系统没有提供单点登录方案,SuccBI内置下面两种方案来供第三方系统进行扩展开发配置:

    1. 证书授信应用开发
    2. IP授信应用开发
  • 如果第三方系统提供了单点登录方案,SuccBI还提供了多种单点登录机制的快速配置(包括OAuth2协议、数字证书令牌等),还可以通过扩展开发提供个性化的单点登录机制,请参照单点登录

# 跨域问题

# iframe中跨域嵌入SuccBI页面

  1. 若是访问第三方系统使用的是https协议,需要保证访问SuccBI也是用https协议。
  2. 将SuccBI系统设置>安全设置>安全等保>禁止被嵌入外站Iframe取消勾选

    系统设置

    实现原理是针对请求设置响应头:X-Frame-Options (opens new window)
  3. 若是Chrome80以上版本浏览器中使用,还需要针对SuccBI部署环境处理samesite问题

# 第三方系统ajax跨域访问SuccBI

大型业务场景往往由多个系统组成,由于业务需求第三方系统页面有时候需要使用ajax请求跨域请求SuccBI所存储数据。跨域要点如下:

  1. 若是需要带上cookie,需要针对XMLHttpRequest设置withCredentials=true
  2. 需要在SuccBI系统设置中设置允许跨域,并将访问第三方系统的域名设置为信任域名: 系统设置>安全设置>安全等保> 启用跨域:

    系统设置

  3. 若是Chrome80以上版本浏览器中使用,还需要针对SuccBI部署环境处理samesite问题
是否有帮助?
0条评论
评论