页面树结构

版本比较

标识

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

...

CAS是一种开放授权协议,它允许用户授权第三方应用访问他们在另一个服务提供方上的数据,而无需分享他们的凭据(如用户名、密码)。这种协议非常适合用于实现单点登录(SSO),使用户在多个应用之间无缝切换,无需重复登录。

前置条件:

1、统一登录平台使用标准CAS2.0或3.0协议,希望单点登录到Smarrbi系统。

2、统一登录平台跟Smarrbi系统用户一致;可参考 用户同步 做用户同步3、部署CAS单点登录扩展包,下载:xxxx,参考:

3、部署CAS单点登录扩展包,下载:Smartbi_Special_Cas_V2,参考:部署扩展包

4、推荐使用“下载连接”中说明的WAR包要求及以上版本,更低版本的WAR包可能存在不兼容问题(如使用中发现问题,需更新到最新版本的war包使用)。

适用场景:

1、统一登录平台通过连接单点登录到BI系统首页。

2、统一登录平台通过连接单点登录打开BI系统集成页面,包括打开资源、创建资源、打开模块等。

3、统一登录平台通过连接单点登录打开BI系统移动端首页

4、未登录时,浏览器输入BI系统连接自动跳转到统一登录平台的登录页面。

5、通过BI系统前端注销则注销整个统一登录平台。

信息

本扩展包是CAS单点登录的新版本,和旧的CAS扩展包不兼容

注:如果部署新的CAS

...

V2,先把旧的扩展包禁用或者删除,同时把config配件界面的“加密类型”及“登录验证类”设置改成产品默认值,如下图。

Image Added

CAS单点登录流程

Image RemovedImage Added

单点登录使用限制及主要能力

1、支持PC端及集成页面、插件端、移动端APP的单点登录。插件登录系统需进行

插件/移动端APP登录系统需进行"登录配置插件"

...

才可以成功登录,详情参考本文档“插件及移动端APP登录”章节

2、可通过界面配置登录流程中涉及的接口地址及接口参数等。

...

5、如果CAS登录改造较多,有更多特殊配置,可尝试使用 自建协议配置实现。 自建协议配置实现

单点登录配置

入口

入口:运维设置/单点登录-CAS协议配置;需要操作权限:"运维设置/模块配置与管理"(操作权限参考操作权限

使用流程

1、获取统一登录平台中CAS服务器的协议版本号及服务器地址,并记录备用。

2、设置需要应用CAS单点登录的页面范围,如果未选择相应的页面,则打开该页面会继续使用BI系统的账号密码进行登录验证。

当应用范围列表中未包含需要单点登录处理的页面时,可通过"自定义"添加需要单点登录的其它页面。Image Removed

Image Added

3、配置CAS服务器信息(依据第一步获取的信息填写):包括Server地址、登录地址、注销地址,非特殊情况下,可按如下示例填写:
       server地址:https://服务器地址/cas
       登录地址:https://服务器地址/cas/login
       注销地址:https://服务器地址/cas/logout

4、可选择配置登录用户属性:
在一些特殊场景下,CAS返回的用户信息中,唯一的登录账号并非CAS中的 4、可选择配置登录用户属性:在一些特殊场景下,CAS返回的用户信息中,唯一的登录账号并非CAS中的 name 属性值,而是其他属性,例如:mobile(手机号),此时直接指定用于登录BI产品的用户属性信息。

        

5、可选择配置登录用户处理规则:

        5.1、当BI系统的用户未实时跟统一登录的用户同步时,会出现登录用户在BI系统中不存在的情况。

...

                5.3.1、当前只支持分配到固定的用户组或角色,不支持动态同步用户组。

Image Added


6、可选择配置逃生通道:

        6.1、逃生通道允许用户绕开CAS登录协议,直接使用BI系统账号密码登录,主要是解决CAS服务异常、BI系统单点登录配置错误等导致无法正常登录BI系统的异常情况。

...

2、选择参数来源及参数值:可配置静态值、用户界面输入的账号/密码

Image Modified

8、验证单点登录是否成功:有以下几种方式验证

8.1、打开浏览器独立新窗口,直接在地址栏中输入BI系统的访问连接,正常跳转到统一登录平台登录页,输入统一登录的账号密码后,正确跳转回BI系统,则成功

...

8.3、如果单点登录不成功,可基于具体的错误提示信息进行调整。

插件端/移动APP使用CAS登录

1、如果在“单点登录-CAS协议配置”中启用了插件和移动APP使用CAS登录,如果要在插件/

...

基于CAS的授权码模式接口使用流程,由于每个接口在不同项目中的具体配置参数不太一致,示例中会说明依据的接口说明,项目需要根据自己的接口说明做调整。
 

接口入参的高级配置使用示例:

 背景:客户那边的接口中,有个密码需要加密,,通过目前的配置没法满足
Image Removed
        可以通过先配置【上个接口返回】获取到前面的token,再自定义一个Java处理类,放到扩展包中
Image Removed
        然后在【接口入参高级配置】中配置自定义的类名,进行拼接参数
Image Removed
自定义Java处理类代码示例:
Image Removed移动APP正常使用CAS登录,则还需要在客户端中应用CAS。

插件客户端:在“配置插件”中配置好CAS登录地址,并选择使用

Image Added

移动APP客户端:在服务器配置的“CAS认证地址”中填写CAS登录地址

Image Added

2、如果在“单点登录-CAS协议配置”中启用了插件和移动APP使用CAS登录,并且未进行上述第1点的客户端配置,则插件端/移动APP还是使用BI系统的登录验证,并且只能使用“允许逃生用户”中配置的用户登录。

3、如果想要在插件端/移动APP不使用CAS登录,则可以直接在“单点登录-CAS协议配置”中不启用相关配置。

Image Added

插件端/移动端APP登录特殊处理配置示例

原始接口说明

接口传递的密码需要加密并且需要多传appcode参数

Image Added

BI产品配置:

Image Added

 再自定义一个Java处理类(处理密码加密逻辑),放到扩展包中;然后在【高级】配置中配置自定义的类名,比如:smartbi.ext.cassso.client.TestCASClientConnector 

自定义类接口说明,主要包含三个属性和四个方法:

  • 属性
    • smartbiUrl属性 为smartbi服务地址
    • casLoginUrl属性 为配置的CAS登录地址
    • configs属性 为配置的参数信息
  • 方法   
    • TestCASClientConnector 为构建方法 无需修改
    • setCasLoginUrl 为设置CAS地址 无需修改
    • setConfigs 为设置配置参数 无需修改
    • open 为登录方法,是必须要自行实现的,最终需要返回登录成功或者失败的结果。

示例中需要先解析配置参数(configs),自行处理密码加密,最后调用cas登录接口。

登录成功返回true,登录失败返回false。


自定义Java处理类代码示例:
Image Added

Image Added


Image Added
客户可自行按照示例编写Java类,并编译为.class文件,再放置到扩展包的对应目录下。(扩展包的本质为zip压缩包)
Image RemovedImage Added