首页> 中国专利> 一种基于SAML的跨域单点登录系统及登录方法

一种基于SAML的跨域单点登录系统及登录方法

摘要

本发明公开了一种基于SAML的跨域单点登录系统及登录方法,包括跨域访问中心模块、域内单点登录子系统模块和用户管理子系统模块、域内单点登录控制中心模块,其中跨域访问中心模块包括跨域用户数据映射同步模块、多级域域ID生成模块、多级域访问认证接口模块。该跨域单点登录系统采用跨域访问中心的创建,将多级域的域内认证提升到了多级域之间的统一跨域认证,通过统一认证源的整合,将多级域的入口整合到了一起,变得更为高效,节省了用户访问多级域的时间,提高了认证效率。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-12-12

    授权

    授权

  • 2015-02-18

    实质审查的生效 IPC(主分类):H04L29/08 申请日:20141023

    实质审查的生效

  • 2015-01-21

    公开

    公开

说明书

技术领域

本发明属于对Web应用的整合管理技术领域,涉及一种基于 SAML的跨域单点登录系统,还涉及上述跨域单点登录系统的跨域 单点登录方法。

背景技术

单点登录机制由单点登录的服务器端(server)和集成在参与单 点登录应用端的客户端(client)组成。公知的单点登录机制基本上 采用票据的形式,来存储用户在首次认证通过后的相关信息,具体 操作流程为:对于多应用系统,当用户首次访问某个应用时,首先 被引导到认证中心进行系统登录,根据用户登录信息,认证中心进 行身份验证;如果验证通过,认证中心向用户返回票据(ticket); 那么用户再次访问其他应用时会自动携带该票据,作为认证的凭据, 当应用接收到用户的访问请求之后首先把ticket送到认证中心进行 效验,检查ticket是否合法;如果验证合法,用户不需要重新登陆 即可访问其他应用,称之为“一次登录,多方认证”。

目前,单点登录领域比较流行的解决方案是Yale大学发起的认 证系统,称为CAS,即为Center Authentication Service,其原理与上 述单点登录机制相同。现有技术的不足是只能解决域内的单点登录, 并未提出对于多域认证的整合,在多级域的情况下,存在用户即属 于子域A又属于子域B的情况。而用户在访问所拥有的A、B域的 应用时,需要通过不同的A、B域入口进行访问。并且现有的技术 并未将权限的判断放入到单点登录中,即就是用户可以进入应用, 但不能控制用户进入应用的细粒度。

发明内容

本发明的目的是提供一种基于SAML的跨域单点登录系统,解 决了现有技术中存在的同一用户访问不同域时需要通过不同的域入 口分别登录及不能控制用户进入应用的细粒度的技术问题。

本发明还提供上述跨域单点登录系统的跨域单点登录方法。

本发明提供的第一技术方案是,一种基于SAML的跨域单点登 录系统,包括跨域访问中心模块、域内单点登录子系统模块、用户 管理子系统模块和域内单点登录控制中心模块;跨域访问中心模块, 用于同步用户数据、域ID生成、多级域访问认证接口的管理;域内 单点登录子系统,用于在用户进行多级域登录时对用户进行认证, 并返回用户可以访问的若干个多级域;用户管理子系统模块用于用 户在域内访问应用时,进行域内应用访问权限的分配,并对用户的 HTTP访问请求进行拦截,将请求内容与用户票据中的权限信息进 行比对,实现对于用户访问权限的控制;域内单点登录控制中心模 块是用于配置域内单点登录的模块,其包括对多级域ID注册、域内 单点登录子系统认证源的配置。

本发明的第一技术方案的特点还在于,

跨域访问中心模块包括跨域用户数据映射同步模块、多级域域 ID生成模块、多级域访问认证接口模块;跨域用户数据映射同步模 块为跨域访问中心发布用户数据的同步接口,用于将域ID信息与用 户的映射信息进行封装,一并同步到跨域访问中心;多级域域ID模 块是用于生成多级域的唯一标识,包括多级域ID的生成;多级域访 问认证接口模块用于提供多级域唯一的统一认证源,包括数据比对、 数据解析,用于将多级域的用户通过用户数据映射的方式同步到统 一认证源中。

本发明提供的另一技术方案是,上述跨域单点登录系统的跨域 单点登录的方法,包括以下步骤:

步骤1,跨域认证注册,详细步骤如下,

1.1.部署域内单点登录系统:利用用户管理子系统模块分别录 入用户数据,即用户名和密码,录入的用户数据需要以用户的身份 证号为唯一标识信息,这样便于在将用户数据同步到跨域访问中心 时,提供可依据的用户映射关系;

1.2.为分布的域内单点登录系统申请域ID,由域内单点登录系 统管理员利用多级域域ID模块申请该域单点登录系统SSOID,多级 域域ID模块通过跨域访问中心提供的域ID生成接口,将域ID生成, 同时保留在跨域访问中心和子域的存储中,便于在提供数据访问、 数据同步过程中,表示用户数据的来源,域内单点登录子系统的描 述信息;

1.3.由域内单点登录系统管理员将域内单点登录子系统的用户数 据进行数据同步,在用户的映射数据同步过程中,将域ID信息与用 户的映射信息进行封装,一并同步到跨域访问中心,这样就标识了 在跨域访问中心的每个用户映射数据的数据来源,然后由跨域用户 数据映射同步模块的数据接口进行接收,处理用户数据映射关系;

1.4.在域内单点登录控制中心模块,将域内的认证模式由域内认 证设置为跨域单点登录;

步骤2,进行跨域认证服务,实现用户跨域单点登录,具体步骤 如下:

2.1.用户在域内SSO登录,输入用户名和密码,域内SSO将首 先调用跨域访问中心的认证服务,对用户提交的信息进行验证,验 证成功后,将该用户的所有已授权的域访问列表返回;

2.2.用户选择需要访问的子域,跨域访问中心模块带领用户去 子域进行验证,当子域验证用户已经跨域登陆成功后,调用子域权 限管理模块的方法获取用户权限信息,将权限信息进行封装,颁发 用户子域的凭证信息,并且返回用户子域的应用列表;

2.3.用户选择需要访问的应用列表,子域SSO代理用户访问应 用,通过域内单点登录系统验证子域凭证的有效性后,便返回应用 信息。

本发明的有益效果是,本发明采用了跨域访问中心的创建,将 多级域的域内认证提升到了多级域之间的统一跨域认证,通过统一 认证源的整合,将多级域的入口整合到了一起,变得更为高效,节 省了用户访问多级域的时间,提高了认证效率。另外,本发明中对 单点登录客户端的优化,采用了过滤器拦截请求内容与票据进行比 对,控制了用户访问应用的颗粒度,克服了原有单点登录只能控制 到访问应用这一层的问题,实现了对于用户、应用权限管理更加仔 细的操作。

附图说明

图1为本发明的跨域单点登录系统总体架构图;

图2为本发明的跨域单点登录方法;

图3为本发明的跨域认证服务流程。

具体实施方式

下面结合附图和实施例,对本发明的具体实施方式作进一步描 述。

本发明的跨域单点登录系统,如图1所示,包括跨域访问中心 模块、域内单点登录子系统模块、用户管理子系统模块和域内单点 登录控制中心模块。

跨域访问中心模块是用于同步用户数据、域ID生成、多级域访 问认证接口管理的模块,其包括跨域用户数据映射同步模块、多级 域域ID生成模块、多级域访问认证接口模块,详细介绍如下:

(1)跨域用户数据映射同步模块为跨域访问中心发布用户数据 的同步接口,接口内容包含同步更新、修改、删除用户数据,具体 实现为用户通过子域接口从子域抽取用户数据信息、子域ID信息, 在子域进行封装,然后通过数据同步接口传入到跨域访问中心。在 用户的映射数据同步过程中,会将域ID信息与用户的映射信息进行 封装,一并同步到跨域访问中心,这样就标识了在跨域访问中心的 每个用户映射数据的数据来源。

(2)多级域域ID模块是用于生成多级域的唯一标识,包括多级 域ID的生成,用于给每个参与了跨域的多级域都分配域ID,在多级 域部署完成后,管理员使用多级域的域ID生成功能,通过跨域访问 中心提供的域ID生成接口,将域ID生成,同时保留在跨域访问中心 和子域的存储中。

(3)多级域访问认证接口模块是用于提供多级域唯一的统一认 证源,包括数据比对、数据解析,用于将多级域的用户通过用户数 据映射的方式同步到统一认证源中,实现这一点,多级域的每一个 子域内的用户都具有相同的唯一标识信息,在用户数据同步的过程 中,相同唯一标识的用户信息存储在同一个数据节点下,数据节点 下存储着用户每个子域不同的用户名和密码信息。

域内单点登录子系统,用于为用户在进行多级域登录认证时, 需要提供用户的唯一标识、用户名、密码(其中用户名和密码可以 是用户在任意域的用户名、密码),用户在登录成功后,会返回用户 可以访问的若干个多级域,然后用户选择需要访问的多级域进行访 问。用户选择需要访问的多级域后,即跳转至域内单点登录系统内, 通过解析用户身份信息,获取到可以访问的应用列表。

用户管理子系统模块是用于在域内访问应用时,提供用户应用 访问权限管理的模块,其结构用于进行用户在域内应用访问权限的 分配。用户在域内单点登录子系统访问应用时,使用单点登录为应 用系统配置的client端,对用户的HTTP访问请求进行拦截,与用户 票据中的权限信息进行比对,对于符合权限信息的请求进行放行, 从而,达到对于用户访问权限的控制。

域内单点登录控制中心模块是用于配置域内单点登录的模块, 其包括对多级域ID注册、域内单点登录子系统认证源配置,其结构 用于在进行多级域访问时,首先需要通过WebService接口向跨域访 问中心申请多级域ID,成功后返回多级域ID,并且将域ID存储在本 地的Ldap数据库中;其次通过修改配置文件中的信息来更改域内单 点登录子系统认证源为多级域访问认证源。域内单点登录控制中心, 对于目前的域内单点登录进行了架构上的改造,对于多级域用户可 以进行认证源选择,对于多级域,用户既可以选择域内的认证源进 行域内私有认证,也可以选择跨域认证源,参与到多级域的跨域认 证中。

跨域登录方式

用户有两种跨域登录方式:域登录全域访问和客户端登录全域 访问。

域登录:用户登录任何一个域SSO认证成功,域SSO将展示本 域和其他域可访问的应用资源访问列表,提供用户进行已授权的访 问;

客户端登录:用户通过客户端登录,在客户端应用列表中列出 该用户可访问的所有域的应用资源访问列表。用户点击应用资源, 客户端浏览器打开该域应用系统界面提供用户进入该系统进行访问。

跨域认证注册流程

在平台层使用用户唯一标识表示账号ID-域内用户信息映射进行 管理,其中域内用户信息由跨域访问中心与域内用户管理系统进行 同步数据管理。各个应用层权限由各个子域负责管理分配,如图2 所示,

步骤1,部署域内单点登录系统:利用用户管理子系统模块分 别录入用户数据,即用户名和密码,录入的用户数据需要以用户的 身份证号为唯一标识信息,这样便于在将用户数据同步到跨域访问 中心时,提供可依据的用户映射关系;

步骤2,为分布的域内单点登录系统申请域ID,由域内单点登录 系统管理员利用多级域域ID模块申请该域单点登录系统SSOID,多 级域域ID模块通过跨域访问中心提供的域ID生成接口,将域ID生成, 同时保留在跨域访问中心和子域的存储中,便于在提供数据访问、 数据同步过程中,表示用户数据的来源,域内单点登录子系统的描 述信息;

步骤3,由域内单点登录系统管理员将域内单点登录子系统的用 户数据进行数据同步,在用户的映射数据同步过程中,将域ID信息 与用户的映射信息进行封装,一并同步到跨域访问中心,这样就标 识了在跨域访问中心的每个用户映射数据的数据来源,然后由跨域 用户数据映射同步模块的数据接口进行接收,处理用户数据映射关 系;

步骤4,在域内单点登录控制中心模块,将域内的认证模式由域 内认证设置为跨域单点登录;

跨域认证服务流程

参与跨域认证服务的在认证服务遵循先到跨域认证服务中进行 用户的认证,读取用户相关跨域信息;如果跨域服务中跨域信息未 作其他域的关联或者网络不通等原因未有跨域的信息,域内的认证 服务将进行域内的用户认证和权限认证读取。参照图3,服务流程 的方法步骤如下:

(1)用户在域内SSO登录,输入用户名和密码,域内SSO将 首先调用跨域访问中心的认证服务,并将该用户的所有已授权的域 访问列表返回;

(2)用户选择需要访问的子域,跨域访问中心模块带领用户去 子域进行验证,当子域验证用户已经跨域登陆成功后,颁发子域的 凭证信息,并且返回用户子域的应用列表;

(3)用户选择需要访问的应用列表,子域SSO代理用户访问应 用,域内单点登录系统验证子域凭证的有效性后,便返回应用信息。

跨域认证访问的流程如下:

1.用户向域SSO提出访问域申请;

2.域内SSO申请登录,提交用户名、密码;

3.在跨域访问中心验证用户提交的信息;

4.在验证成功后,返回用户可以访问的子域的列表;

5.用户选择需要访问的子域,跳转到子域进行验证跨域登陆;

6.验证成功后,调用子域权限管理模块的方法获取用户权限信 息;

7.将权限信息进行封装,颁发用户子域访问凭证;

8.返回用户子域可访问的应用列表;

9.用户选择应用发起应用访问;

10.子域验证用户凭证的有效性;

11.验证成功后,返回给用户应用信息。

本发明采用了跨域访问中心的创建,将多级域的域内认证中提 升到了多级域之间的统一跨域认证,通过统一认证源的整合,将多 级域的入口整合到了一起,变得更为高效,节省了用户访问多级域 的时间,认证效率,克服了原有需要通过多个子域访问各自拥有的 应用的技术问题。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号