页面树结构
转至元数据结尾
转至元数据起始

更新说明:

20240506:新增CAS3.0兼容


说明

       在很多的应用项目中,客户会采用 JA-SIG CAS(Central Authentication Service)作为统一登录认证平台,要求 Smartbi 也要接入到 CAS 平台中,效果如下。

具体操作步骤

       下面将介绍如何在Smartbi中配置CAS,实现单点登录。请参考如下操作步骤。

       1、下载插件包

            插件包:CAS.ext

                          CAS_tomcat10.ext(Tomcat10部署 )

            部署说明:扩展包部署

       2、解压缩插件包

            用 WinRAR 之类的压缩工具,打开 CAS.ext ,将CAS.ext\META-INF\extension.xml 、CAS.ext\vision\js\ext\ConfigurationPatch.js 两个文件从 WinRAR 窗口中拖出来,对其进行修改。接着将修改后的文件,拖放回 WinRAR 窗口中,覆盖以前的旧文件。关闭 WinRAR 窗口保存修改即可,如下图所示。

       

       

       3、修改CAS配置

           打开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统一平台的访问地址。
       

            (5)由于CAS3.0版本和CAS2.0版本在CAS URIS中会有区别,如果需要兼容CAS3.0的版本,需要在extension.xml中修改相应配置。

       

       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、逃生通道登录

          在部分场景下(例如:CAS服务器宕机、管理员登录系统运维管理等),客户希望保留Smartbi原来的登录通道,不走CAS认证,此时用户可以访问逃生通道页面登录Smartbi系统。

          逃生通道登录页面访问:http://ip:port/smartbi/vision/escapeLogin.jsp

          

          另外,也可以通过系统选项→高级设置添加配置,对Excel插件端和移动端APP的登录进行控制,控制是否走CAS认证。           

          CAS_PLUGIN_NEED_AUTH(true/false,默认为true,会走cas认证)

          CAS_APP_NEED_AUTH(true/false,默认为true,会走cas认证)

          

          7.1 白名单功能

            说明:在一些特殊场景下,若客户希望某些特殊的用户可以不走CAS认证,则在通过逃生通道页面登录时,允许此类用户通过逃生通道页面登录Smartbi。

            配置说明:

            在【用户管理】-【CAS账号白名单】配置白名单用户

            

            

       8、登录用户名重名处理(特殊情况处理)

          在一些特殊场景下,CAS返回的用户信息中,唯一的登录账号并非CAS中的 name 属性值,而是其他属性,例如:mobile(手机号),此时在CAS扩展包中支持重新配置修改CAS返回的用户属性与Smartbi的用户属性映射关系。

          8.1、配置说明

          在extension.xml 中进行配置,新增param配置项【syncAttributes】

         

         目前仅支持以下字段进行映射配置  

c_username

用户名称

c_useralias

用户别名

c_userdesc

用户描述

       9、验证效果

         配置完成后,点击右下角的“保存”按钮,根据提示再重启Smartbi 后,即可看到效果。

       10、注意事项

注意:

  • 本例所用 CAS 的jar包为cas-client-core-3.2.0.jar。

  • 在Office插件/Excel插件登录系统需进行“登录配置插件”才可以成功登录,详情参考电子表格实现CAS登录验证。 

  • 仅V10.5以上版本的CAS单点登录支持移动端。

  • 该扩展包支持标准的CAS,如果是自行改造后的CAS,需要联系官方定制开发改造。
  • 逃生通道登录 ->白名单功能、登录用户名重名处理功能,在 2024-11-01 之后的 CAS 扩展包才有。




  • 无标签