2.具体操作步骤
下面将介绍如何在Smartbi中配置CAS,实现单点登录。请参考如下操作步骤。
1、首先下载插件包(CAS.ext)
2、用 WinRAR 之类的压缩工具,打开 CAS.ext ,将CAS.ext\META-INF\extension.xml 、CAS.ext\vision\js\ext\ConfigurationPatch.js 两个文件从 WinRAR 窗口中拖出来,对其进行修改。接着将修改后的文件,拖放回 WinRAR 窗口中,覆盖以前的旧文件。关闭 WinRAR 窗口保存修改即可,如下图所示。
3、打开extension.xml 文件,将相关地址改为统一平台的地址,smartbi的地址改为实际smartbi的地址,具体如下(如下涉及的地址仅需要修改IP和端口,保持与示例地址格式一致):
(1)修改 casServerLogoutUrl 参数,将 http://domain:18080/cas/logout 修改为CAS统一平台的注销地址。
(2)修改 casServerLoginUrl 参数,将 http://domain:18080/cas/login 修改为CAS统一平台的登录地址。
(3)修改 serverName 参数,将其配置为 smartbi 系统的访问地址,比如:http://localhost:18080;注意,有两处需要配置 serverName 参数。
(4)修改 casServerUrlPrefix 参数,将 http://domain:18080/cas 修改为CAS统一平台的访问地址。
4、打开ConfigurationPatch.js文件,将其中 CASLogoutURL 属性值改为CAS统一平台的注销地址,如下图红框内代码所示。
var ConfigurationPatch = { extensionPoints: { CASLogoutURL: "http://domain:18080/cas/logout" } };
5、接下来部署修改后的 CAS.ext 插件包。完整的部署过程和操作步骤,请参考 插件包部署。
6、启动Smartbi 系统后进入http://localhost:18080/smartbi/vision/config.jsp 配置界面,此时因配置了CAS.ext插件包,会跳转到CAS服务器登录界面,登录成功后会跳转到Smartbi的登录界面,此时已经完成了与CAS服务器的对接,但是还没有实现免密登录,需要修改“用户管理”配置段中的“加密类型”为CLASS,“登录验证类”为 smartbi.cas.auth.CASAuthUser,具体如下图所示。
7、配置完成后,点击右下角的“保存”按钮,根据提示再重启Smartbi 后,即可看到效果。
注意:
- 本例所用 CAS 的jar包为cas-client-core-3.2.0.jar。
- 配置 CAS 登录后,就不能再用 Smartbi 系统内置的 admin 帐户了,如果希望继续使用,只能在 CAS 系统中创建一个 admin 账户。
- 配置 CAS 登录后,第三方系统通过openresource.jsp或openmodule.jsp集成Smartbi资源时,需要在该jsp的url中添加user参数。例如:openresource.jsp?user=xxx&resid=yyy。
- 此CAS插件包只支持PC浏览器端。