一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种应用于前后端分离场景的单点登录注销方法、系统、电子设备和储存介质与流程

2022-06-11 12:27:17 来源:中国专利 TAG:


1.本发明属于集成系统领域,具体涉及一种应用于前后端分离场景的单点登录注销方法、系统、电子设备和储存介质。


背景技术:

2.随着信息系统的不断发展和建设,企业内部往往同时存在很多套信息系统,每套信息系统都需要进行用户账号管理、登录认证、资源访问授权等类似操作,因此通常都会用到单点登录系统(sso),建设于不同时期的信息系统,其单点登录集成方式也存在差异。如果web应用是采用前后端分离模式的系统,并且后端系统为无状态服务,前后端系统之间通常使用jwt token作为登录凭证,但是使用jwt token时在退出登录(logout)时存在一些问题,比如用户在a系统中进行单点登录注销时,该用户已登录的b系统也需要退出登录状态,但是这些前端系统登录状态的有效性,取决于已获取的jwt token,在jwt token的有效期内,用户一直有权访问后端资源,无法做到实时注销,因此需要设计一种方法及系统,实现注销操作的一致性,提升用户体验。


技术实现要素:

3.本发明的目的在于克服上述不足,提供一种应用于前后端分离场景的单点登录注销方法、系统、电子设备和储存介质,通过增加websocket推送机制解决前端注销问题,从而实现注销操作的一致性,提升用户体验。
4.为了达到上述目的,一种应用于前后端分离场景的单点登录注销方法,登录包括以下步骤:
5.输入账号和密码,并根据账号和密码创建session会话及令牌;
6.对ticket参数进行验证,验证通过后取得jwttoken;
7.将jwttoken存入sessionstorage;
8.持续接收携带jwt token的调用请求,并验证用户身份信息;
9.与websocket服务端建立连接,完成用户登录;
10.注销登录包括以下步骤:
11.根据注销登录命令,通过websocket服务端推送注销消息,并执行注销登录操作。
12.当执行注销登录时:
13.清除sessionstorage和cookie的信息;
14.清除用户的session会话及令牌;
15.返回指定页面。
16.在执行注销登录时,同时执行其它已集成单点登录的业务系统注销的方法如下:
17.清除当前系统的sessionstorage和cookie的信息;
18.清除当前系统中用户的session会话及令牌;
19.对其它已集成单点登录且用户已登录的业务系统,清除用户的session会话及令牌;
20.通过websocket服务端推送注销消息;
21.清除sessionstorage和cookie的信息;
22.返回指定页面。
23.一种应用于前后端分离场景的单点登录注销系统,包括:
24.会话令牌创建模块,用于输入账号和密码,并根据账号和密码创建session会话及令牌;
25.参数验证模块,用于对ticket参数进行验证,验证通过后取得jwt token;
26.储存模块,用于将jwt token存入sessionstorage;
27.用户身份信息验证模块,用于持续接收携带jwt token的调用请求,并验证用户身份信息;
28.连接建立模块,用于与websocket服务端建立连接,完成用户登录;
29.注销执行模块,用于根据注销登录命令,通过websocket服务端推送注销消息,并执行注销登录操作。
30.还包括:
31.当前系统清除模块,用于清除当前系统的sessionstorage和cookie的信息,以及清除当前系统中用户的session会话及令牌;
32.跳转模块,用于返回指定页面。
33.还包括:
34.后端服务清除模块,用于清除用户的session会话及令牌;
35.前端服务清除模块,用于对其它已集成单点登录的业务系统,清除sessionstorage和cookie的信息;
36.注销信息推送模块,用于通过websocket服务端推送注销消息。
37.一种电子设备,包括:处理器;存储器,用于存储计算机程序指令;用于执行所述计算机程序时实现应用于前后端分离场景的单点登录注销方法的步骤。
38.一种储存介质,所述储存介质存储有计算机程序指令,所述计算机程序指令被处理器加载并运行时,所述处理器执行应用于前后端分离场景的单点登录注销方法。
39.与现有技术相比,本发明在用户输入账号、密码验证成功后,创建session会话及令牌,然后提交ticket进行验证取得jwt token,将jwt token存入sessionstorage,后续发送的调用请求中都携带jwt token,获取到当前用户信息,然后与websocket服务端建立连接。本发明的用户在某一个业务系统调用单点登录注销操作,通过websocket服务端推送注销消息,执行注销操作,从而实现注销操作的一致性,提升了用户体验,实用性强。
附图说明
40.图1为本发明的单点登录认证登录过程流程图;
41.图2为本发明的单点登录注销登录过程流程图;
42.图3为本发明的单点登录注销登录消息推送流程图;
43.图4为本发明的系统图。
具体实施方式
44.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
45.参见图1,本发明中登录包括以下步骤:
46.1)用户通过浏览器请求访问任一业务系统,该业务系统的前端服务判断当前用户未登录时跳转到单点登录系统;
47.2)单点登录系统判断当前用户未登录时,返回登录页面;
48.3)用户在登录页面输入账号、密码后提交,验证成功后单点登录系统服务端创建session会话及令牌,然后重新跳转回业务系统的前端页面并携带ticket参数;
49.4)前端页面提交ticket到业务系统后端服务,由后端服务通过单点登录客户端与单点登录系统进行验证,验证通过后取得jwt token,然后返回给前端页面;
50.5)前端页面将jwt token存入sessionstorage,后续前端向后端服务发送的http请求header中都要携带jwt token,后端服务判断jwt token有效性并识别用户身份;
51.6)前端调用后端服务获取到当前用户信息,然后与websocket服务端建立连接,完成用户单点登录过程。
52.参见图2,本发明中注销登录包括以下步骤:
53.1)用户在业务系统前端页面点击单点登录注销操作,前端执行清理cookie、sessionstorage等信息,最后跳转到单点登录系统;
54.2)单点登录系统执行清理当前用户会话及令牌操作,并调用当前用户已登录的其它业务系统后端服务,执行注销操作;
55.3)跳转回单点登录系统的登录页面或指定页面。
56.参见图3,本发明在注销登录过程中其它业务系统注销还包括以下步骤:
57.1)用户在某一个业务系统调用单点登录注销操作时,如果该用户此前访问过其它已集成单点登录的业务系统,则单点登录系统会调用这些业务系统注册的后端服务注销地址;
58.2)后端服务执行相应的清理工作,并通过websocket服务端推送注销消息给前端;
59.3)前端收到消息后执行注销操作。
60.参见图4,一种应用于前后端分离场景的单点登录注销系统,包括:
61.会话令牌创建模块,用于输入账号和密码,并根据账号和密码创建session会话及令牌;
62.参数验证模块,用于对ticket参数进行验证,验证通过后取得jwt token;
63.储存模块,用于将jwt token存入sessionstorage;
64.用户身份信息验证模块,用于持续接收携带jwt token的调用请求,并验证用户身份信息;
65.连接建立模块,用于客户端与websocket服务端建立连接,完成用户登录;
66.注销执行模块,用于根据注销登录命令,通过websocket服务端推送注销消息,并
执行注销登录操作。
67.当前系统清除模块,用于清除当前系统的sessionstorage和cookie的信息,以及清除当前系统中用户的session会话及令牌;
68.跳转模块,用于返回指定页面。
69.后端服务清除模块,用于清除用户的session会话及令牌;
70.前端服务清除模块,用于对其它已集成单点登录的业务系统,清除sessionstorage和cookie的信息;
71.注销信息推送模块,用于通过websocket服务端推送注销消息。
72.一种电子设备,包括:处理器;存储器,用于存储计算机程序指令;用于执行所述计算机程序时实现应用于前后端分离场景的单点登录注销方法的步骤。
73.一种储存介质,所述储存介质存储有计算机程序指令,所述计算机程序指令被处理器加载并运行时,所述处理器执行应用于前后端分离场景的单点登录注销方法。
74.实施例:
75.参见图1,本发明包括以下单元:
76.单点登录系统,提供用户登录认证、访问鉴权、jwt token生成等功能,提供了业务系统集成的客户端;
77.websocket服务端推送系统,负责与web前端系统进行双向实时通信;
78.业务系统前端服务,主要包括用户交互界面,负责数据呈现,通过ajax请求与后端服务进行数据交互;
79.业务系统后端服务,主要负责复杂业务逻辑实现及业务数据的维护管理,提供restful接口。
80.单点登录具体过程:
81.参见图1,浏览器访问业务系统a前端web服务网站,页面加载后判断当前用户未登录(本地无jwt token),跳转到单点登录系统,单点登录系统判断当前用户未登录(无相关session及令牌),返回登录页面,用户在登录页面输入账号、密码后提交,验证成功后单点登录系统服务端创建session会话及令牌,然后重新跳转回前端页面并携带ticket参数,前端页面提交ticket到业务系统后端服务,由后端服务通过单点登录客户端与单点登录系统进行验证,验证通过后取得jwt token,然后返回给前端页面,前端页面将jwt token存入sessionstorage,后续前端向后端服务发送的接口调用的http请求header中都要携带jwt token,后端服务判断jwt token是否有效并识别用户身份,然后执行相应的接口逻辑并返回数据给前端,前端调用后端服务接口获取到当前用户信息,然后与websocket服务端建立连接,用户成功登录业务系统a。
82.用户访问已集成单点登录的业务系统b前端web服务网站,页面加载后判断当前未登录(本地无jwt token),跳转到单点登录系统,单点登录系统判断当前用户已登录(存在相关session及令牌),然后重新跳转回前端页面并携带ticket参数,前端页面提交ticket到后端服务,其后流程与业务系统a登录过程相同,主要区别在于本次访问单点登录系统时不需要输入账号密码即可获取到jwt token。业务系统b的前端服务也与websocket服务端建立连接,用户成功登录业务系统b。
83.单点登录注销具体过程:
84.参见图2和图3,用户在业务系统a执行单点登录注销操作时,前端执行清理cookie、sessionstorage等信息,最后跳转到单点登录系统,单点登录系统执行清理当前用户会话及令牌操作,跳转回单点登录系统的登录页面或指定页面。如果该用户此前已登录业务系统b,则单点登录系统在注销时会同时调用业务系统b注册的后端服务地址,后端服务执行相应的清理工作,并通过websocket服务端推送注销消息给前端,前端收到消息后执行清理cookie、sessionstorage等信息,然后转到单点登录系统或指定页面,用户成功退出所有已登录的系统。
85.需要说明的是,对于前述的方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明所必需的。
86.最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献