一种基于单点登录实现跨平台身份认证的方法与流程

文档序号:25349047发布日期:2021-06-08 12:57阅读:377来源:国知局
一种基于单点登录实现跨平台身份认证的方法与流程

1.本发明公开一种方法,涉及web系统身份鉴别技术领域,具体地说是一种基于单点登录实现跨平台身份认证的方法。


背景技术:

2.在信息化建设的过程中,多个应用系统一般是在不同的时期开发完成,各应用系统由于设计方法、开发技术、开发语言有所不同,形成了各自独立的用户库和用户认证体系。随着网站的发展,用户群体使用网站的多个应用系统,但在每个应用系统中有独立的账号,进入每一个应用系统前都需要以该应用系统的账号来登录。这些情况给用户带来使用不便。


技术实现要素:

3.本发明针对现有技术的问题,提供一种基于单点登录实现跨平台身份认证的方法,实现对不同语言、不同架构的web应用的身份认证信息统一进行管理,解决用户登录不同应用系统需要多次独立身份认证的困扰,同时利用认证服务器的安全加解密机制有效提升了敏感信息在多方传输过程中的安全保护机制。
4.本发明提出的具体方案是:
5.一种基于单点登录实现跨平台身份认证的方法,通过登录主业务系统,选择需要登录的其他业务系统,
6.根据被选择的业务系统向认证服务端发出认证请求,获得返回的tgt票据信息,通过主业务系统向认证服务端发送tgt票据信息与所访问应用地址的合法性的校验请求,
7.校验通过则通过主业务系统获得ticket票据并自动拼装请求的访问应用地址进行被选择的业务系统的访问,
8.通过被选择的业务系统截取ticket票据并向认证服务端请求解析,解析后获得用户账号及对应应用地址,将对应应用地址与访问应用地址进行比对,比对通过则被选择的业务系统根据用户账号自动组装本系统所需要的上下文信息,完成跨平台登录。
9.进一步,所述的一种基于单点登录实现跨平台身份认证的方法中进行用户账号校验,登录主业务系统,根据主业务系统的用户权限选择需要登录的其他业务系统。
10.进一步,所述的一种基于单点登录实现跨平台身份认证的方法中根据被选择的业务系统从主业务系统的上下文信息中获得用户账号向认证服务端发出认证请求,通过认证服务端根据用户账号作为登录凭证访问用户库,返回对应用户加密后的tgt票据信息,
11.通过主业务系统接收tgt票据信息,将tgt票据信息与所访问的应用地址组装为json格式数据向认证服务端发出合法性的校验请求。
12.进一步,所述的一种基于单点登录实现跨平台身份认证的方法中通过认证服务端校验tgt票据信息与所访问的应用地址的合法性,校验通过则将ticket票据颁发给主业务系统,通过主业务系统将ticket票据的信息以键值对的格式进行存储。
13.进一步,所述的一种基于单点登录实现跨平台身份认证的方法中被选择的业务系统意外关闭,通过主业务系统根据所访问的应用地址查询ticket票据,利用查询到对应的ticket票据向认证服务端进行校验,校验通过则进行被选择的业务系统的登录。
14.进一步,所述的一种基于单点登录实现跨平台身份认证的方法中被选择的业务系统退出登录时,清除本系统的上下文信息,同时向认证服务端发送退出请求,通过认证服务端删除该被选择的业务系统对应的tgt票据及ticket票据。
15.一种基于单点登录实现跨平台身份认证的系统,包括选择模块、第一校验访问模块及第二校验组装模块,
16.选择模块通过登录主业务系统,选择需要登录的其他业务系统,
17.第一校验模块根据被选择的业务系统向认证服务端发出认证请求,获得返回的tgt票据信息,通过主业务系统向认证服务端发送tgt票据信息与所访问应用地址的合法性的校验请求,
18.校验通过则通过主业务系统获得ticket票据并自动拼装请求的访问应用地址进行被选择的业务系统的访问,
19.第二校验组装模块通过被选择的业务系统截取ticket票据并向认证服务端请求解析,解析后获得用户账号及对应应用地址,将对应应用地址与访问应用地址进行比对,比对通过则被选择的业务系统根据用户账号自动组装本系统所需要的上下文信息,完成跨平台登录。
20.一种基于单点登录实现跨平台身份认证的装置,包括至少一个存储器和至少一个处理器;
21.所述至少一个存储器,用于存储机器可读程序;
22.所述至少一个处理器,用于调用所述机器可读程序,执行所述的一种基于单点登录实现跨平台身份认证的方法。
23.本发明的有益之处是:
24.本发明提供一种基于单点登录实现跨平台身份认证的方法,在不破坏系统本身固有流程和结构的前提下,整合了过去分散在各应用系统中虽然有内在关联却难以判别的用户信息资源,实现对不同语言、不同架构的web应用的身份认证信息统一进行管理,解决用户登录不同应用系统需要多次独立身份认证的困扰,同时利用认证服务器的安全加解密机制有效提升了敏感信息在多方传输过程中的安全保护机制,也为将来更多应用系统提供了统一的登录框架。
附图说明
25.图1是本发明方法流程示意图。
具体实施方式
26.下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定。
27.本发明提供一种基于单点登录实现跨平台身份认证的方法,通过登录主业务系统,选择需要登录的其他业务系统,
28.根据被选择的业务系统向认证服务端发出认证请求,获得返回的tgt票据信息,通过主业务系统向认证服务端发送tgt票据信息与所访问应用地址的合法性的校验请求,
29.校验通过则通过主业务系统获得ticket票据并自动拼装请求的访问应用地址进行被选择的业务系统的访问,
30.通过被选择的业务系统截取ticket票据并向认证服务端请求解析,解析后获得用户账号及对应应用地址,将对应应用地址与访问应用地址进行比对,比对通过则被选择的业务系统根据用户账号自动组装本系统所需要的上下文信息,完成跨平台登录。
31.利用本发明方法实现单点登录、全网访问,方便用户的使用过程。各业务系统之间耦合度低,业务系统的改造不破坏其固有流程和结构,整个系统的实施过程安全平滑,为将来更多业务系统提供了统一的登录框架。整合了过去分散在各应用系统中虽然有内在关联却难以判别的用户信息资源,为更进一步的用户个性化服务打下了基础。
32.具体应用中,在本发明的一些实施例中,利用本发明方法用户进行跨平台单点登录时,过程如下:
33.步骤1:比如用户访问springboot架构下研发的主业务系统,输入账号密码,登录校验账号及密码的合法性,如校验失败,则跳转回主登录界面并提示相应访问失败告警信息,若账号密码校验成功则主业务系统根据登录人的用户权限跳转门户显示信息。
34.步骤2:用户可以选择门户显示信息的springmvc、ssh等其他系统架构或语言的业务系统,被选择的业务系统从主业务系统上下文中取出用户账号向认证服务器发出认证校验,认证服务器以用户账号作为登录凭证访问用户库,返回对应用户加密后的tgt票据信息,如下post示例:
35.post http://xxxx/cas/v1/tickets
36.入参:username、password
37.返回:tgt票据
38.示例:http://xxxx/cas/v1/tickets?username=xxx&password=xxx
39.主业务系统收到tgt票据信息后,把tgt票据与所访问的应用地址组装为json格式数据向认证服务器发出校验请求。
40.步骤3:认证服务器收到校验请求后,自动校验tgt票据与应用地址的合法性,校验通过后,认证服务器存储已加密后的请求信息为凭证的涵盖请求地址、登录账号等信息的ticket票据,同时把该ticket票据颁发给请求方,如下post请求:
41.post http://xxxx/cas/v1/tickets/tgt
42.入参:service=url
43.返回:ticket票据
44.示例:http://xxxx/cas/v1/tickets/tgt?service=url
45.接收到ticket票据后,主业务系统自动拼装请求的应用地址及ticket票据进行访问,主业务系统把该ticket票据信息已键值对的格式存储到redis数据库中。
46.步骤4:跳转到被选择的业务系统后,业务系统的拦截器截取到ticket票据,并请求认证服务器进行解析,如下post请求:
47.post http://xxxx/cas/p3/servicevalidate
48.入参:service=url&tgt=tgt票据
49.返回:xml登录信息
50.示例:http://xxxx/cas/p3/servicevalidate?service=url&tgt=tgt票据
51.认证服务器解析成功后,向业务系统返回解析完成后的用户账号及对应的应用地址,系统自动比对返回的地址与访问地址的一致性,如比对不通过,则提示ticket票据不合法,如比对通过,业务系统根据返回的用户账号自动组装本系统所需要的上下文信息,完成跨平台的业务系统的登录。
52.在上述实施例的基础上,在本发明方法的另一些实施例中,如被选择的业务系统意外关闭后,再次打开,主业务系统首先根据请求地址向redis数据库中查找ticket票据,如未查到到则执行步骤4进行自动登录,如查询到对应的ticket票据信息,主业务系统根据该票据向认证服务器发起校验请求,认证服务器会校验票据的真实及有效性,如果校验合法,主业务系统会拿着该票据自动进行登录,如果校验票据超期,则执行步骤4进行再次登录操作,再次登录的代码块可参考如下:
53.[0054][0055]
以及如下代码块:
[0056]
[0057][0058]
在本发明方法的另一些实施例中,如被选择的业务系统退出时,业务系统清除自身的上下文信息,同时向认证服务器发送退出请求,认证服务器收到请求后,删除该业务系统对应的tgt票据及ticket票据,如下delete所示:
[0059]
delete http://xxxx/cas/v1/tickets/tgt
[0060]
入参:无
[0061]
返回:销毁的tgt票据
[0062]
示例:http://xxxx/cas/v1/tickets/tgt
[0063]
认证服务器返回成功标识,主业务系统收到标识后,自动从redis删除对应的ticket票据信息,主业务系统此时仍旧处于登录状态,如果再次进入被选择的业务系统,只需进行相应的业务系统执行步骤2

4进行自动登录。直到主业务系统退出清除所有的登录痕迹。
[0064]
通过本发明方法不但解决了信息化系统建设不同步,各应用系统由于设计方法、开发技术、开发语言有所不同,没有一个整体上的网站用户账号的概念等多种原因所导致的用户重复或多次登录的问题,同时利用了认证服务器到应用服务器的用户认证信息访问标准,统一了令牌安全加密的传输和识别标准,为将来更多应用系统提供了统一的登录框架。
[0065]
本发明还提供一种基于单点登录实现跨平台身份认证的系统,包括选择模块、第一校验访问模块及第二校验组装模块,
[0066]
选择模块通过登录主业务系统,选择需要登录的其他业务系统,
[0067]
第一校验模块根据被选择的业务系统向认证服务端发出认证请求,获得返回的tgt票据信息,通过主业务系统向认证服务端发送tgt票据信息与所访问应用地址的合法性的校验请求,
[0068]
校验通过则通过主业务系统获得ticket票据并自动拼装请求的访问应用地址进行被选择的业务系统的访问,
[0069]
第二校验组装模块通过被选择的业务系统截取ticket票据并向认证服务端请求解析,解析后获得用户账号及对应应用地址,将对应应用地址与访问应用地址进行比对,比对通过则被选择的业务系统根据用户账号自动组装本系统所需要的上下文信息,完成跨平
台登录。
[0070]
上述系统内的各模块之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
[0071]
以及本发明还提供一种基于单点登录实现跨平台身份认证的装置,包括至少一个存储器和至少一个处理器;
[0072]
所述至少一个存储器,用于存储机器可读程序;
[0073]
所述至少一个处理器,用于调用所述机器可读程序,执行所述的一种基于单点登录实现跨平台身份认证的方法。
[0074]
上述装置内的处理器的信息交互、执行可读程序过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
[0075]
需要说明的是,上述各流程和各系统结构图中不是所有的步骤和模块都是必须的,可以根据实际的需要忽略某些步骤或模块。各步骤的执行顺序不是固定的,可以根据需要进行调整。上述各实施例中描述的系统结构可以是物理结构,也可以是逻辑结构,即,有些模块可能由同一物理实体实现,或者,有些模块可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。
[0076]
以上所述实施例仅是为充分说明本发明而所举的较佳的实施例,本发明的保护范围不限于此。本技术领域的技术人员在本发明基础上所作的等同替代或变换,均在本发明的保护范围之内。本发明的保护范围以权利要求书为准。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1