专利名称:一种跨域的单点登录实现方法
技术领域:
本发明涉及一种互联网领域,具体地讲,是涉及一种互联网系统不同认证模型的单点登录的实现方法。
背景技术:
在当今的互联网时代,在大部分系统都采用集中认证的方式,各个业务系统根据集中认证系统来判断能否登录业务系统,应用系统都是采用系统的用户模型,所以各系统可以轻松的实现单点登录。但是在各个系统中采用不同的认证方式,不同的用户模型时,两个系统就难以实现单点登录,主要是是因为以下几个原因1)用户模型不同,导致两个系统无法判断用户模型的对应关系;2)不同系统之间需要实现高安全性的访问机制,防止用户的信息被泄露。所以,有必要提出一种新的跨域跨系统的单点实现方法,以实现在不同用户模型的系统之间单点登录,提高用户的感知度。
发明内容
本发明的目的在于提供一种跨域的单点登录实现方法,可以实现在不同用户模型的系统之间单点登录,防止系统中泄露用户数据,提高用户感知度。为解决以上技术问题,本发明提供一种跨域的单点登录实现方法,包括步骤1、第一系统的第一认证系统生成唯一身份信息索引,并将该身份信息索引重定向到第二系统的第二认证系统;步骤2、第二认证系统根据身份信息索引到第一认证系统,获取第二认证系统所需要的用户信息;步骤3、第二认证系统根据获得的用户信息对第二系统做令牌校验,通过后第二系统可以完成单点登录。 进一步地,所述步骤1具体包括步骤1. 1、第一系统携带第二系统的URL地址,传递到第一系统的第一认证系统;步骤1. 2、第一认证系统生成当前不可仿冒的唯一身份信息索引,并将该身份信息索引重定向到第二系统的第二认证系统。进一步地,所述步骤2具体包括步骤2. 1、第二认证系统根据身份信息索引到第一认证系统获取断言,查询用户信息;步骤2. 2、第二认证系统根据第一认证系统返回的信息,过滤获取属于第二认证系统所需要的用户账号信息。进一步地,所述步骤2. 1中,第二认证系统在获取第一认证系统断言时,根据安全的需要增加MD5或者SHA的加密进行判断。进一步地,所述步骤2. 2中,具体过滤规则是
若过滤后存在多个第二认证系统规则账号且包含第一系统登录账号,第二认证系统自动选择优先级较高的用户或者第一系统登录用户;或者,若过滤后存在多个第二认证系统规则账号且不包含第一系统登录账号,第二认证系统自动选择优先级较高的用户;或者,若过滤后存在单个第二认证系统规则账号且包含第一系统登录账号,第二认证系统自动选择第一系统登录账号;或者,若过滤后存在单个第二认证系统规则账号且不包含第一系统登录账号,第二认证系统自动选择优先级较高的用户。进一步地,所述步骤3具体包括步骤3. 1、第二认证系统重定向到第二系统;步骤3. 2、第二认证系统根据获得的用户信息对第二系统做令牌校验,通过后第二系统可以完成单点登录。与现有技术相比,本发明提供的一种跨域的单点登录实现方法,可以实现在不同用户模型的系统之间单点登录,防止系统中泄露用户数据,提高用户的感知度。并且,在同一个局域网内从A系统到B系统中单点登录的模拟实验,性能平均是96. 2次/秒;在非加密的情况下性能平均为61. 2次/秒。
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中图1是本发明提供的一种跨域的单点登录实现方法的流程图;图2是本发明实施例提供的一种A系统单点登录到B系统的流程图。
具体实施例方式为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图和实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。本发明提供一种跨域的单点登录实现方法,实现第一系统单点登录到第二系统, 包括步骤1、第一系统的认证系统生成当前不可仿冒的唯一身份信息索引,并将该身份信息索引重定向到第二系统的第二认证系统;具体包括步骤1. 1、第一系统携带第二系统的URL地址,传递到第一系统的第一认证系统;步骤1. 2、第一认证系统生成当前不可仿冒的唯一身份信息索引,并将该身份信息索引重定向到第二系统的第二认证系统。步骤2、第二认证系统根据身份信息索引到第一认证系统,获取第二认证系统所需要的用户信息;具体包括步骤2. 1、第二认证系统根据身份信息索引到第一认证系统获取断言,查询用户信息;在第二认证系统获取第一认证系统断言时,可以根据安全的需要增加MD5或者SHA的加密进行判断,在重定向时可以根据需要增加3des、MD5、SHA等多项综合来进加密。如果全部使用安全的环境的话,可以适量的减少用户的加密过程,增加性能,提供用户感知。步骤2. 2、第二认证系统根据第一认证系统返回的信息,过滤获取属于第二认证系统所需要的用户账号信息;具体过滤规则是若过滤后存在多个第二认证系统规则账号且包含第一系统登录账号,根据开户需求第二认证系统自动选择优先级较高的用户或者第一系统登录用户;或者,若过滤后存在多个第二认证系统规则账号且不包含第一系统登录账号,根据开户需求第二认证系统自动选择优先级较高的用户;或者,若过滤后存在单个第二认证系统规则账号且包含第一系统登录账号,根据开户需求第二认证系统自动选择第一系统登录账号;或者,若过滤后存在单个第二认证系统规则账号且不包含第一系统登录账号,根据开户需求第二认证系统自动选择优先级较高的用户。步骤3、第二认证系统根据获得的用户信息对第二系统做令牌校验,通过后第二系统可以完成单点登录。步骤3. 1、第二认证系统重定向到第二系统;步骤3. 2、第二认证系统根据获得的用户信息对第二系统做令牌校验,通过后第二系统可以完成单点登录。下面将结合实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。如图1所示,本发明实施例提供如下所述场景A系统由Al认证系统认证,Al认证系统以法人或者自然人为基础,每个法人或者自然人有唯一的标识,每个法人或者自然人下的产品都归属到法人或者自然人;B系统由Bl认证系统认证,Bl认证系统以法人或者自然人的产品为基础,产品作为一个独立的标识;Bl认证系统中的独立标识与Al认证系统中产品相对应。根据本发明提供的一种跨域的单点登录实现方法,实现A系统单点登录到B系统, 包括步骤1、A系统携带B系统URL地址,使用重定向接口将参数传递到Al认证系统;步骤2、Al认证系统生成全局token信息,生成当前不可仿冒的唯一身份信息索引;步骤3、Al认证系统将身份信息索引重定向到B 1认证系统;步骤4、B 1认证系统根据身份信息索引到Al认证系统获取断言,查询用户信息 (Al认证系统必须明确指定当前登录的账号及账号类型);步骤5、B 1认证系统根据Al认证系统返回的信息,过滤获取属于当前Bl认证系统所需要的账号,过滤规则如下若过滤后存在多个Bl认证系统规则账号且包含A系统登录账号,根据开户需求Bl 认证系统自动选择优先级较高的用户或者A系统登录用户;或者,若过滤后存在多个Bl认证系统规则账号且不包含A系统登录账号,根据开户需求 B 1认证系统自动选择优先级较高的用户;或者,
若过滤后存在单个Bl认证系统规则账号且包含A系统登录账号,根据开户需求Bl 认证系统自动选择A系统登录账号;或者,若过滤后存在单个Bl认证系统规则账号且不包含A系统登录账号,根据开户需求 Bl认证系统自动选择优先级较高的用户。步骤6、Bl认证系统生成全局token信息,重定向到B系统;步骤7、B1认证系统根据获得的用户账号信息对B系统做令牌校验,通过后B系统可以完成单点登录。在B 1认证系统获取Al认证系统断言时,可以根据安全的需要增加MD5或者SHA 的加密进行判断,在重定向时可以根据需要增加3des、MD5、SHA等多项综合来进加密。如果全部使用安全的环境的话,可以适量的减少用户的加密过程,增加性能,提供用户感知。B系统单点到A系统时,可以采取同样的方式实现,也可以根据实际的需要进行删减过程。上述说明示出并描述了本发明的一个优选实施例,但如前所述,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、 修改和环境,并能够在本文所述发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。
权利要求
1.一种跨域的单点登录实现方法,其特征在于,包括步骤1、第一系统的第一认证系统生成唯一身份信息索引,并将该身份信息索引重定向到第二系统的第二认证系统;步骤2、第二认证系统根据身份信息索引到第一认证系统,获取第二认证系统所需要的用户fe息;步骤3、第二认证系统根据获得的用户信息对第二系统做令牌校验,通过后第二系统可以完成单点登录。
2.如权利要求1所述的方法,其特征在于,所述步骤1具体包括步骤1. 1、第一系统携带第二系统的URL地址,传递到第一系统的第一认证系统; 步骤1. 2、第一认证系统生成当前不可仿冒的唯一身份信息索引,并将该身份信息索引重定向到第二系统的第二认证系统。
3.如权利要求1所述的方法,其特征在于,所述步骤2具体包括步骤2. 1、第二认证系统根据身份信息索引到第一认证系统获取断言,查询用户信息; 步骤2. 2、第二认证系统根据第一认证系统返回的信息,过滤获取属于第二认证系统所需要的用户账号信息。
4.如权利要求3所述的方法,其特征在于,所述步骤2.1中,第二认证系统在获取第一认证系统断言时,根据安全的需要增加MD5或者SHA的加密进行判断。
5.如权利要求3所述的方法,其特征在于,所述步骤2.2中,具体过滤规则是若过滤后存在多个第二认证系统规则账号且包含第一系统登录账号,第二认证系统自动选择优先级较高的用户或者第一系统登录用户;或者,若过滤后存在多个第二认证系统规则账号且不包含第一系统登录账号,第二认证系统自动选择优先级较高的用户;或者,若过滤后存在单个第二认证系统规则账号且包含第一系统登录账号,第二认证系统自动选择第一系统登录账号;或者,若过滤后存在单个第二认证系统规则账号且不包含第一系统登录账号,第二认证系统自动选择优先级较高的用户。
6.如权利要求1所述的方法,其特征在于,所述步骤3具体包括 步骤3. 1、第二认证系统重定向到第二系统;步骤3. 2、第二认证系统根据获得的用户信息对第二系统做令牌校验,通过后第二系统可以完成单点登录。
全文摘要
本发明提供一种跨域的单点登录实现方法,包括步骤1、第一系统的第一认证系统生成唯一身份信息索引,并将该身份信息索引重定向到第二系统的第二认证系统;步骤2、第二认证系统根据身份信息索引到第一认证系统,获取第二认证系统所需要的用户信息;步骤3、第二认证系统根据获得的用户信息对第二系统做令牌校验,通过后第二系统可以完成单点登录。通过本发明的跨域的单点登录实现方法,可以实现在不同用户模型的系统之间单点登录,防止系统中泄露用户数据,提高用户的感知度。
文档编号H04L9/32GK102299802SQ20111025913
公开日2011年12月28日 申请日期2011年9月2日 优先权日2011年9月2日
发明者叶飞 申请人:深圳中兴网信科技有限公司