一种跨应用的异构应用下系统单点登录的登录方法与流程

文档序号:24734183发布日期:2021-04-20 18:38阅读:341来源:国知局
一种跨应用的异构应用下系统单点登录的登录方法与流程

1.本发明涉及互联网web开发领域,具体涉及一种跨应用的异构应用下系统单点登录的登录方法。


背景技术:

2.在互联网公司的不断发展、微服务流行、前后端分离趋势的过程中间,需要将一个企业内部所有域中的用户登录和用户帐号管理集中到一起,做到单点登录、全网漫游。单点登录(single sign on,sso)是目前比较流行的统一身份认证的解决方案之一,单点登录是指在多个应用系统中,用户只需登录一次就可以访问所有相互信任的应用系统。单点登录说得简单点就是在一个多系统共存的环境下,用户在一处登录后,就不用在其他系统中登录,也就是用户的一次登录能得到其他所有系统的信任。
3.传统单点登录系统,用户通过登录认证成功后,由程序后台发起重定向请求,控制页面需要跳转的路径,页面前端无需要感知后台的指令,这是基于前后端不分离的情况,而前后端分离后,后台就无法再向前端浏览器发出页面登录成功后跳转的指令,这里面涉及到了浏览器跨域的问题,因此需要解决前后端分离后,单点登录页面跳转的问题。


技术实现要素:

4.鉴于现有技术中存在的技术缺陷和技术弊端,本发明实施例提供克服上述问题或者至少部分地解决上述问题的一种跨应用的异构应用下系统单点登录的登录方法,具体方案如下:
5.一种跨应用的异构应用下系统单点登录的登录方法,包括集成单点登录的各子系统,多个子系统的session保持一致,所述方法包括:
6.步骤1,任一子系统发起业务请求,将ticket票据封装转发至中央登录鉴权管理服务器进行校验,向中央登录鉴权管理服务器发出登录鉴权请求,其中,所述业务请求包括业务系统的所有请求以及登录请求;
7.步骤2,中央登录鉴权管理服务器基于所述登录鉴权请求进行登录鉴权校验;
8.步骤3,登录鉴权校验成功后,后台通过http方式将跳转页面的指令发送给前端,由前端执行具体的页面跳转内容,将页面跳转至后台预设值。
9.进一步地,步骤1中,任一子系统发起业务请求后,由被请求子系统进行拦截,并进行鉴权,在鉴权时将ticket票据封装转发至中央登录鉴权管理服务器进行校验。
10.进一步地,步骤2具体包括:
11.中央登录鉴权管理服务器收到子系统鉴权请求后,进行ticket票据校验,如果请求系统携带ticket票据,则校验ticket票据合理性,校验通过,则回调客户端校验通过,校验不通过,则中央登录鉴权管理服务器将重定向至登录系统首页,要求用户登录,登录成功,则将ticket票据回调至登录请求的子系统,登录失败,则提示用户登录失败的信息;如果服务端接收的是登出请求,则直接销毁客户端的登录成功ticket票据,并将服务端展示
页面跳转至登录页面。
12.进一步地,校验ticket票据合理性包括校验ticket票据是否非法以及是否过期。
13.进一步地,所述方法还包括,其他集成单点登录的各子系统,在集成了单点登录功能的各子系统中,如果有一处子系统已经登录成功,ticket票据在有效期内,各子系统无需再次登录;如果ticket票据失效,则业务请求被重新定向到登录页面,要求用户重新输入用户名、密码就行登录,登录成功后,页面跳转至原来的请求来源地址。
14.进一步地,所述方法还包括,用户登录中央登录鉴权管理服务器成功后,反跳回客户端,并将加密后的ticket票据存给客户端,客户端通过使浏览器重定向,保存ticket票据到浏览器的cookie中,此时浏览器中保存了登录的ticket票据,中央登录鉴权管理服务器也保存着登录的ticket票据,ticket票据在有效期内,所有子系统每次业务请求只需携带浏览器保存的ticket票据去中央登录鉴权管理服务器进行校验,而无需再次登录。
15.进一步地,所述方法还包括:用户登录中央登录鉴权管理服务器成功后,基于下一次用户的业务请求,中央登录鉴权管理服务器根据session获取内存中间存在的session对应ticket票据是否存在和有效,接收并处理对应业务请求。
16.进一步地,所述中央登录鉴权管理服务器集成了独立的登录访问页面、密匙加盐、鉴权以及登录ticket票据过期管理功能。
17.进一步地,所述方法还包括:若子系统请求登出,并跳转至中央登录鉴权管理服务器执行登出后,再次登录其他任何子系统,则需要重新登录。
18.本发明具有以下有益效果:
19.本发明通过子系统集成客户端后(子系统引入客户端封装的功能片段),一处登录,各子系统处处放行,一次登出,全部系统登出;登录成功后,后台通过http方式将跳转页面的指令发送给前端,由前端执行具体的页面跳转内容,页面成功跳转至后台预设值(登录成功后想要展示的页面);中央登录鉴权管理服务器,统一管理用户的登录、登出、ticket票据鉴权;所有需要登录,登出的系统,可以共用一台页面,除此之外,用户可在此基础上进行个性化登录页面开发,或者进行其他业务的展示。
附图说明
20.图1为本发明实施例提供的一种跨应用的异构应用下系统单点登录的登录方法流程图;
21.图2为本发明实施例提供的一种跨应用的异构应用下系统单点登录的登录方法的业务流程图。
具体实施方式
22.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
23.如图1

2所示,本发明实施例提供的一种跨应用的异构应用下系统单点登录的登录方法,包括集成单点登录的各子系统,多个子系统的session保持一致,所述方法包括
24.步骤1,任一子系统发起业务请求,将ticket票据封装转发至中央登录鉴权管理服务器进行校验,向中央登录鉴权管理服务器发出登录鉴权请求,其中,所述业务请求包括业务系统的所有请求以及登录请求;
25.步骤2,中央登录鉴权管理服务器基于所述登录鉴权请求进行登录鉴权校验;
26.步骤3,登录鉴权校验成功后,后台通过http方式将跳转页面的指令发送给前端,由前端执行具体的页面跳转内容,将页面跳转至后台预设值。
27.本发明的单点登录系统(sso),提供了多子系统集成的客户端,前后端完全分离(后端程序完全一套,前端不依赖后端,可由单独的tomcat或者nginx启动代理)、session一致的登录、登出解决方案。跨ip、跨端口的子服务,通过请求登录,跳转至中央登录鉴权管理服务器,进行鉴权认证成功后,访问其他子系统无需再次鉴权登录;子系统请求登出,跳转至中央登录鉴权管理服务器后,再次登录其他任何子系统,则需要重新登录;中央登录鉴权管理服务器,集成了独立的登录访问页面、密匙加盐(将密码使用sha256方式加密)、鉴权、登录ticket票据(ticket)过期管理功能。
28.其中,步骤1中,任一子系统发起业务请求后,由被请求子系统进行拦截,并进行鉴权,在鉴权时将ticket票据封装转发至中央登录鉴权管理服务器进行校验。
29.其中,步骤2具体包括:
30.中央登录鉴权管理服务器收到子系统鉴权请求后,进行ticket票据校验,如果请求系统携带ticket票据,则校验ticket票据合理性,校验ticket票据合理性包括校验ticket票据是否非法以及是否过期,校验通过,则回调客户端校验通过,校验不通过,则中央登录鉴权管理服务器将重定向至登录系统首页,要求用户登录,登录成功,则将ticket票据回调至登录请求的子系统,登录失败,则提示用户登录失败的信息;如果服务端接收的是登出请求,则直接销毁客户端的登录成功ticket票据,并将服务端展示页面跳转至登录页面。
31.其中,步骤3中,其他集成单点登录的各子系统,在集成了单点登录功能的各子系统中,如果有一处子系统已经登录成功,ticket票据在有效期内,各子系统无需再次登录,就可以流畅的进行业务操作;如果ticket票据失效,则业务请求被重新定向到登录页面,要求用户重新输入用户名、密码就行登录,登录成功后,页面跳转至原来的请求来源地址。
32.单点登录系统是基于cookie,session的,在此模式下,用户登录成功后,下次用户请求,后台需要根据session获取内存中间存在的session对应ticket票据是否存在和有效,在前后端不分离的情况下,session保持一致,而前后端完全独立后,需要特殊处理以保证session一致,这种处理手段就是利用登录中央登录鉴权管理服务器登录成功后,反跳回客户端,并将加密后的ticket票据存给客户端,客户端通过使浏览器重定向,保存ticket票据到浏览器的cookie中,此时浏览器中保存了登录的ticket票据,中央登录鉴权管理服务器也保存着登录的ticket票据,ticket票据在有效期内,所有子系统每次业务请求前只需携带浏览器保存的ticket票据去中央登录鉴权管理服务器进行校验,而无需再次登录。
33.以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1