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

正在查看旧版本。 查看 当前版本.

与当前比较 查看页面历史

« 前一个 版本 16 下一个 »

概述

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

前置条件:

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

2、统一登录平台跟Smarrbi系统用户一致;可参考 用户同步 做用户同步

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

适用场景:

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

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

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

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

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

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

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

CAS单点登录流程

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

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

插件/移动端APP登录系统需进行"登录配置插件"才可以成功登录,详情参考本文档“插件及移动端APP登录”章节

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

2.1、支持CAS2.0 或3.0版本

2.2、支持自定义灵活配置接口:包括:CAS server 地址、CAS登录地址、统一注销地址

2.3、支持在插件端或APP端通过扩展的方式做特殊的登录验证处理(比如密码二次加密、传递更多静态参数等)

3、支持登录用户处理:用户不存在时的处理逻辑可配置,包括新建用户/不允许登录等

4、支持逃生通道:允许部分或全部用户使用逃生通道,或者直接禁用逃生通道

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

单点登录配置

入口

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

使用流程

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

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

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

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

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

        

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

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

        5.2、当遇到不存在的用户时,产品默认会提示:当前用户在BI系统中不存在,请联系管理员添加。

        5.3、客户可选择自动创建用户,并分配到某个默认组,默认角色,以便用户登录后直接访问有权限的资源。

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


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

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

        6.2、产品默认开启了逃生通道,用户可基于实际需求灵活配置。

        6.3、如果插件端/移动端APP应用了CAS登录,则逃生用户也可以直接在插件端/移动端使用非CAS方式登录。

        注意:在单点登录验证成功前,不要禁用逃生通道,否则将无法正常登录BI系统继续调整配置。

       

7、可选插件端/移动端APP登录特殊处理:

        7.1、插件端和移动端APP的CAS验证,由于无法直接使用CAS的统一登录界面,是把BI系统登录界面用户输入的账号密码传递到CAS服务器验证,当CAS验证需要密码加密后传输或传递更多参数时,可启用 "登录特殊处理"

        7.2、产品支持直接通过界面配置传递更多静态参数值;比如传递多一个参数

        7.3、密码加密等其它处理需要额外定制开发,基于实际业务场景,通过java扩展接口实现。

        7.4、登录接口入参说明:

1、自定义参数名称,基于接口实际参数名称填写:CAS默认的登录参数是:username、password。

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

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

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

8.2、在BI系统中点击注销,会调用CAS接口登出,并回到统一登录平台登录页

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

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

1、如果在“单点登录-CAS协议配置”中启用了插件和移动APP使用CAS登录,如果要在插件/移动APP正常使用CAS登录,则还需要在客户端中应用CAS。

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

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

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

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

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

原始接口说明

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

BI产品配置:

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

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

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

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

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


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



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

 

  • 无标签