服务器端 SDK登录 | 可以通过以下五种方法之一,在第三方系统中单点登录到 Smartbi 系统。请根据实际需要,选择其中一种登录方法。
LoginToken扩展包登录 | 在第三方系统中编写JSP 页面/Java代码调用Smartbi的服务器端SDK方法进行登录后获取Token再使用Token登录。 | token只能使用一次且60秒内有效,不会暴露用户的真实密码,支持集群,安全性高。 | 需要加载扩展包并修改登录验证类。 | 安全性要求高的系统。 |
页面中使用Form登录 | 在页面中提交form表单传递用户密码参数登录,并传递参数告知smartbi登录成功和失败跳转的地址。 | 集成方式简单。 | 用户名和密码暴露在前端,安全性差。 | 安全性要求不高的系统。 |
浏览器端SDK登录 | 通过JSLoader加载bof.usermanager.UserService的js方法登录。 | 简单方便,通用性高。 | 集成方式较麻烦,用户名和密码暴露在前端,安全性差,需要解决跨域问题。 | 安全性要求不高的系统。 |
浏览器端SDK单点登录 | 通过JSLoader加载bof.usermanager.UserService 的js方法登录。 | - 简单方便
- 通用性高
| - 集成方式较麻烦
- 用户名和密码暴露在前端,安全性差
- 需要解决跨域问题。
| - 安全性要求不高的系统
- 没有跨域问题的系统
- 不需要集成的系统
|
服务器端SDK单点登录 | 在第三方系统中编写 JSP 页面/Java代码调用 Smartbi 的服务器端 SDK获取Cookie进行登录。 |
不会暴露用户的真实密码,安全性高。不支持集群部署,不支持从第三方系统链接转到Smartbi系统首页进行登录。- 不支持从第三方系统链接转到Smartbi系统首页进行登录。
|
安全性要求高的系统,只适用于在第三方系统中打开和新建Smartbi资源以及在第三方中打开功能模块进行登录。CAS单点登录将Smartbi接入到统一登录认证平台进行登录。 - 只适用于在第三方系统中打开和新建Smartbi资源以及在第三方中打开功能模块进行登录。
|
安全性高,多系统集成时登录方便。 | 需要加载扩展包,需要修改扩展包配置文件和登录验证类。 | 用户已有CAS服务器的情况。 | 注意事项
- 如果不通过单点登录,那么在集成 Smartbi 资源时必须传入user、password 参数。
- 如果采用 Smartbi 的服务器端SDK方法进行单点登录,在集成资源时除了可以传递参数user、password之外,还可以单独传递参数smartbiCookie,此参数为从服务器端获取的cookie。获取此值的方法,见下面红色方框内代码。
Image Removed
- 如果Smartbi是集群部署模式,不能采用“方法三”进行单点登录,原因是ClientConnector对象是在jsp页面的java代码块中初始化的,其发起对象是第三方系统服务器,而集成资源是浏览器发起的,浏览器在使用该cookie时,不能保证跟服务器一样访问到同一个节点,在没有访问到同一个节点时,其cookie是无效的。
LoginToken扩展包单点登录 | 在第三方系统中编写JSP 页面/Java代码调用Smartbi 的服务器端SDK方法进行登录后获取Token再使用Token登录。 | - token只能使用一次且限定时间内有效(时间可手工配置),不会暴露用户的真实密码,安全性高
- 支持集群
| - 需要加载扩展包并修改登录验证类。
| - 安全性要求高的系统
- 集群部署的系统
|
Form表单单点登录 | 在页面中提交form表单传递用户密码参数登录,并 传递参数告知smartbi登录成功和失败跳转的地址。 | - 集成方式简单
| - 用户名和密码暴露在前端,安全性差。
| - 安全性要求不高的系统
- 集成部署的系统
|
CAS单点登录 | 将Smartbi接入到统一登录认证平台进行登录。 | - 安全性高
- 多系统集成时登录方便。
| - 需要加载扩展包
- 需要修改扩展包配置文件和登录验证类。
| - 用户已有CAS服务器的情况
- 安全性要求高的系统
- 集成部署的系统
|