CN114124508B - 一种应用登录方法及系统 - Google Patents
一种应用登录方法及系统 Download PDFInfo
- Publication number
- CN114124508B CN114124508B CN202111358137.0A CN202111358137A CN114124508B CN 114124508 B CN114124508 B CN 114124508B CN 202111358137 A CN202111358137 A CN 202111358137A CN 114124508 B CN114124508 B CN 114124508B
- Authority
- CN
- China
- Prior art keywords
- login information
- local
- remote
- application
- user login
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 67
- 230000001360 synchronised effect Effects 0.000 claims description 29
- 238000004891 communication Methods 0.000 claims description 11
- 230000003993 interaction Effects 0.000 description 21
- 238000010586 diagram Methods 0.000 description 12
- 238000013475 authorization Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 235000010627 Phaseolus vulgaris Nutrition 0.000 description 1
- 244000046052 Phaseolus vulgaris Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0815—Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例公开了一种应用登录方法及系统,其中,应用登录方法包括:本地应用登录信息同步设备同步获取异地应用登录信息同步设备存储的所述异地应用服务器的异地用户登录信息,并将所述异地应用服务器的异地用户登录信息发送至本地应用服务器;所述本地应用服务器根据所述异地用户登录信息和本地用户登录信息进行匹配,并在确定所述异地用户登录信息与所述本地用户登录信息相匹配的情况下,删除所述本地用户登录信息。本发明实施例的技术方案能够实现原生支持应用登录的实时互踢操作,并提高应用登录互踢操作的效率和适用性。
Description
技术领域
本发明实施例涉及通信技术领域,尤其涉及一种应用登录方法及系统。
背景技术
随着电子技术的发展,手机、电脑等电子设备越来越普及,功能也越来越强大,各种新型应用也应运而生,通过在电子设备中安装多种类型的应用,可有效满足用户的多元化需求。为了实现对用户的个性化服务,在用户访问应用访问,用户可以以个人身份信息登录应用,从而在个人账号中获取应用提供的个性化服务器。
目前,用户登录应用的方式有很多种,基于OAuth 2.0(OAuth是一个关于授权的开放网络标准)协议的单点登录方式是其中一种重要的应用登录方式。OAuth 2.0主要在“客户端”(例如手机APP)与“服务提供商”(APP中所用到的一些资源的提供者)之间设置了一个授权层,使“客户端”不能直接登陆“服务提供商”,只能登陆授权层,以此将用户与客户端区分开来。“客户端”登陆授权层所用的令牌(token),与用户的密码不同。用户可以在登陆的时候,指定授权层令牌的权限范围和有效期。图1是现有技术中OAuth 2.0的运行流程示意图,具体的,如图1所示,基于OAuth 2.0协议的单点登录方式的具体流程包括以下操作:用户打开客户端以后,客户端要求用户给予授权。用户同意给予客户端授权。客户端使用上一步获得的授权,向认证服务器申请令牌。认证服务器对客户端进行认证以后,确认无误,同意发放令牌。客户端使用令牌,向资源服务器申请获取资源。资源服务器确认令牌无误,同意向客户端开放资源。
发明人在实现本发明的过程中,发现现有技术存在如下缺陷:对于部分应用来说,考虑到安全性和其他需求,往往存在“一个用户账号仅能在一处登录”也即登录互踢的登录限制。虽然单点登录系统能够实现在多系统共存的环境下,用户的一次登录能得到其他所有系统的信任,但如果用户登录的应用服务包括多个不同集群时,难以严格实现登录互踢的业务限制要求。虽然OAuth 2.0支持开发者手动改写代码以实现登陆互踢,但不是原生支持方式,需要冗杂的安全和权限控制,会导致整个程序较为复杂,降低登录互踢效率,且受限于开发者自身能力与理解不同,无法形成统一标准。
发明内容
本发明实施例提供一种应用登录方法及系统,能够实现原生支持应用登录的实时互踢操作,并提高应用登录互踢操作的效率和适用性。
第一方面,本发明实施例提供了一种应用登录方法,应用于应用登录系统,包括:
本地应用登录信息同步设备同步获取异地应用登录信息同步设备存储的所述异地应用服务器的异地用户登录信息,并将所述异地应用服务器的异地用户登录信息发送至本地应用服务器;
所述本地应用服务器根据所述异地用户登录信息和本地用户登录信息进行匹配,并在确定所述异地用户登录信息与所述本地用户登录信息相匹配的情况下,删除所述本地用户登录信息。
第二方面,本发明实施例还提供了一种应用登录系统,所述应用登录系统包括本地应用服务器、异地应用服务器、本地应用登录信息同步设备以及异地应用登录信息同步设备,所述本地应用服务器与所述本地应用登录信息同步设备通信连接;所述异地应用服务器与所述异地应用登录信息同步设备通信连接;其中:
所述本地应用登录信息同步设备用于同步获取所述异地应用登录信息同步设备存储的所述异地应用服务器的异地用户登录信息,并将所述异地应用服务器的异地用户登录信息发送至所述本地应用服务器;
所述本地应用服务器用于根据所述异地用户登录信息和本地用户登录信息进行匹配,并在确定所述异地用户登录信息与所述本地用户登录信息相匹配的情况下,删除所述本地用户登录信息。
本发明实施例通过本地应用服务器、异地应用服务器、本地应用登录信息同步设备以及异地应用登录信息同步设备构成一种应用登录系统,以通过本地应用登录信息同步设备同步获取异地应用登录信息同步设备存储的异地应用服务器的异地用户登录信息,并将异地应用服务器的异地用户登录信息发送至本地应用服务器。本地应用服务器可以根据异地用户登录信息和本地用户登录信息进行匹配,并在确定异地用户登录信息与本地用户登录信息相匹配的情况下,删除本地用户登录信息,解决现有应用登录方法存在的无法原生支持登录互踢以及登录互踢效率低等问题,从而实现原生支持应用登录的实时互踢操作,并提高应用登录互踢操作的效率和适用性。
附图说明
图1是现有技术中OAuth 2.0的运行流程示意图;
图2是本发明实施例一提供的一种应用登录方法的流程图;
图3是本发明实施例一提供的一种应用登录系统的结构示意图;
图4是本发明实施例二提供的一种应用登录方法的流程图;
图5是本发明实施例二提供的一种应用登录系统的架构示意图;
图6是本发明实施例二提供的一种消息队列的发布/订阅模型的效果示意图;
图7是本发明实施例三提供的一种应用登录系统的结构示意图;
图8是本发明实施例三提供的一种应用登录系统的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。
另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
实施例一
图2是本发明实施例一提供的一种应用登录方法的流程图,本实施例可适用于在用户在不同服务设备登录应用时高效完成登录互踢的情况,该方法可以由应用登录系统来执行。相应的,如图2所示,该方法包括如下操作:
S110、本地应用登录信息同步设备同步获取异地应用登录信息同步设备存储的异地应用服务器的异地用户登录信息,并将所述异地应用服务器的异地用户登录信息发送至本地应用服务器。
其中,本地应用登录信息同步设备可以是本地的应用登录信息同步设备,用于对应用的用户登录信息进行同步。可选的,本地应用登录信息同步设备既可以同步本地用户登录信息,也可以同步异地用户登录信息。异地应用登录信息同步设备可以是异地的应用登录信息同步设备,同样用于对应用的用户登录信息进行同步。可选的,异地应用登录信息同步设备既可以同步本地用户登录信息,也可以同步异地用户登录信息。相应的,本地用户登录信息可以是本地用户登录本地应用服务器的用户登录信息,异地用户登录信息可以是异地用户登录异地应用服务器的信息。用户登录信息也即用户登录应用的相关信息,例如可以包括但不限于用户的登录名称、登录时间以及登录的IP(Internet Protocol,网络之间互连的协议)地址等,本发明实施例并不对用户登录信息的具体信息内容进行限定。
图3是本发明实施例一提供的一种应用登录系统的结构示意图,在一个具体的例子中,如图3所示,应用登录系统可以包括多个应用登录信息同步设备和多个应用服务器,其中,一个应用服务器和一个应用登录信息同步设备通信连接,各应用服务器可以分别部署在不同的地点,如部署在同一个城市的不同区域,或部署在不同的城市等,本发明实施例对此并不进行限制。与应用服务器通信连接的应用登录信息同步设备可以与该应用服务器在同一地点部署。各个应用登录信息同步设备之间可以通过一定的方式进行数据通信,以实时同步用户登录信息。例如,应用登录信息同步设备之间可以通过有线或无线的通信方式进行数据交互,或者,应用登录信息同步设备还可以引入其他的中间设备作为中间媒介,并通过中间设备进行数据的转发和同步,从而实时同步用户登录信息,本发明实施例并不对应用登录信息同步设备之间的具体数据通信方式进行限定。
相应的,用户在登录应用时,可以登录不同的应用服务器以获取个性化的应用服务。可以理解的是,本地和异地是相对的概念。也即,针对某一个应用登录信息同步设备或应用服务器来说,自身的设备即为本地设备,分布于其他不同地点的设备则为异地设备。示例性的,本地应用登录信息同步设备对于自身设备来说是本地应用登录信息同步设备,对于其他不同地点的应用登录信息同步设备来说则是异地应用登录信息同步设备。
在本发明实施例中,每一组应用服务器和应用登录信息同步设备对于应用登录的处理方法是相同的。以本地设备为例具体说明,由于每个应用登录信息同步设备可以存储对应应用服务器的用户登录信息,因此,本地应用登录信息同步设备可以同步获取异地应用登录信息同步设备存储的异地应用服务器的异地用户登录信息。当本地应用登录信息同步设备同步获取到异地用户登录信息之后,可以将异地用户登录信息发送至本地应用服务器。可以理解的是,不同的异地应用登录信息同步设备可以提供不同的异地用户登录信息。本地应用登录信息同步设备可以将获取的全部的异地用户登录信息统一发送至本地应用服务器,也可以将每一组异地应用登录信息同步设备的异地用户登录信息分别发送至本地应用服务器,本发明实施例对此并不进行限制。
S120、本地应用服务器根据所述异地用户登录信息和本地用户登录信息进行匹配,并在确定所述异地用户登录信息与所述本地用户登录信息相匹配的情况下,删除所述本地用户登录信息。
相应的,当本地应用服务器获取到异地用户登录信息之后,可以将异地用户登录信息与本地存储的本地用户登录信息进行遍历匹配。如果确定异地用户登录信息与本地用户登录信息相匹配,也即确定在本地应用服务器登录的用户在异地应用服务器出现了登录行为,则本地应用服务器可以删除与异地用户登录信息相匹配的本地用户登录信息,从而实现仅允许用户登录一个应用服务器,实现登录互踢的功能。
上述应用登录方法以本地设备为例说明了应用登录系统中其中一组应用登录信息同步设备和应用服务器的应用登录方法。异地应用登录信息同步设备和异地应用服务器进行数据处理时,可以转换为本地设备的角色采用上述相同的流程执行应用登录方法。
在一个具体的例子中,如图3所示,当应用登录信息同步设备1和应用服务器1执行应用登录方法时,则应用登录信息同步设备1为本地应用登录信息同步设备,应用服务器1为本地应用服务器,应用登录信息同步设备2至应用登录信息同步设备n均可以作为异地应用登录信息同步设备,应用服务器2至应用服务器n均可以作为异地应用服务器。相应的,应用登录信息同步设备1可以同步获取应用登录信息同步设备2至应用登录信息同步设备n发送的异地用户登录信息,并将获取的异地用户登录信息发送至应用服务器1,应用服务器1可以根据异地用户登录信息和本地用户登录信息进行匹配,并在确定异地用户登录信息与本地用户登录信息相匹配的情况下,删除本地用户登录信息。
相应的,当应用登录信息同步设备2和应用服务器2执行应用登录方法时,则应用登录信息同步设备2为本地应用登录信息同步设备,应用服务器2为本地应用服务器,应用登录信息同步设备1、应用登录信息同步设备3至应用登录信息同步设备n均可以作为异地应用登录信息同步设备,应用服务器1、应用服务器3至应用服务器n均可以作为异地应用服务器。相应的,应用登录信息同步设备2可以同步获取应用登录信息同步设备1、应用登录信息同步设备3至应用登录信息同步设备n发送的异地用户登录信息,并将获取的异地用户登录信息发送至应用服务器2,应用服务器2可以根据异地用户登录信息和本地用户登录信息进行匹配,并在确定异地用户登录信息与本地用户登录信息相匹配的情况下,删除本地用户登录信息。以此类推,每个应用登录信息同步设备和应用服务器执行应用登录方法时均可以将自身设备作为本地设备,将其他地点分布的设备作为异地设备。
所述本地应用服务器根据所述异地用户登录信息和本地用户登录信息进行匹配,并在确定所述异地用户登录信息与所述本地用户登录信息相匹配的情况下,删除所述本地用户登录信息。
由于本发明实施例所提供的应用登录系统是通过设置应用登录信息同步设备实现用户登录信息的同步操作,以在确定出现用户重复登录的情况下,删除旧的用户登录信息,保留最新的用户登录信息,这种应用登录方法为应用的原有逻辑,不需要进而二次开发,也不需要冗杂的安全和权限控制流程,整个程序较为简单,登录互踢的效率更高。同时,还可以将应用登录系统的登录互踢的相关资源单独抽离为组件,形成统一的开发标准,其适用性更强。
在本发明的一个可选实施例中,在所述本地应用登录信息同步设备同步获取所述异地应用登录信息同步设备存储的所述异地应用服务器的异地用户登录信息之前,还可以包括:所述本地应用服务器获取所述本地用户登录信息,并将所述本地用户登录信息发送至所述本地应用登录信息同步设备;所述本地应用登录信息同步设备同步存储所述本地用户登录信息。
可以理解的是,用户登录本地应用服务器时,本地应用服务器可以存储用户的登录信息,进而得到本地用户登录信息。本地应用服务器可以实时或者按照一定规则(如按照一定周期)向与本地应用服务器通信连接的本地应用登录信息同步设备发送本地用户登录信息。相应的,本地应用登录信息同步设备可以同步存储本地用户登录信息,还可以接收异地应用登录信息同步的异地用户登录信息,以满足不同应用登录信息同步设备之间的信息同步需求。
在本发明的一个可选实施例中,所述本地应用服务器获取所述本地用户登录信息,可以包括:所述本地应用服务器在检测到本地用户登录操作时,根据所述本地用户登录操作生成所述本地用户登录信息;所述方法还可以包括:在所述本地应用服务器的JVM(Java Virtual Machine,Java虚拟机)内存的本地会话Session中存储所述本地用户登录信息。
具体的,本地应用服务器在检测到本地用户登录操作时,可以确定有新用户登录本地应用服务器。此时,本地应用服务器可以根据本地用户登录操作生成本地用户登录信息。示例性的,本地应用服务器可以为新登录的用户生成对应的User(用户)对象,并将User对象暂存在本地应用服务器的JVM内存中的Session中,同时发送至本地应用登录信息同步设备进行存储。
相应的,本地应用登录信息同步设备可以获取异地应用服务器的User对象,并将User对象发送至本地应用服务器。本地应用服务器可以对异地应用服务器的User对象进行解析,以获取异地登录用户的相关标志信息,如用户名称等,并与本地Session中已存在的各个用户名称进行遍历比较。如果本地Session中存在相同的用户名称,则将本地存储的相同用户名称所在的User对象删除,完成登录踢出操作。如果本地Session中不存在相同的用户名称,也即该用户未同时在多地登录应用服务器,则不进行操作。
同理,各异地应用服务器与异地应用登录信息同步设备之间可以采用上述相同的数据处理流程完成用户登录信息的存储、共享和匹配处理等,不再累述。
也即,应用登录系统可以统一通过应用登录信息同步设备完成各应用服务器之间用户登录信息的同步共享,从而使得各应用服务器可以获取全局的用户登录信息,并判断用户是否出现多处登录的情况。可以理解的是,各个应用服务器之间可以并行执行上述应用登录方法。
本发明实施例通过本地应用登录信息同步设备同步获取异地应用登录信息同步设备存储的异地应用服务器的异地用户登录信息,并将异地应用服务器的异地用户登录信息发送至本地应用服务器。本地应用服务器可以根据异地用户登录信息和本地用户登录信息进行匹配,并在确定异地用户登录信息与本地用户登录信息相匹配的情况下,删除本地用户登录信息,解决现有应用登录方法存在的无法原生支持登录互踢以及登录互踢效率低等问题,从而实现原生支持应用登录的实时互踢操作,并提高应用登录互踢操作的效率和适用性。
实施例二
图4是本发明实施例二提供的一种应用登录方法的流程图,本实施例以上述实施例为基础进行具体化,在本实施例中给出了在本地应用登录信息同步设备同步获取异地应用登录信息同步设备存储的异地应用服务器的异地用户登录信息之前的操作多种具体可选的实现方式。相应的,如图4所示,本实施例的方法可以包括:
S210、异地应用服务器获取所述异地用户登录信息,并将所述异地用户登录信息发送至异地应用登录信息同步设备。
在本发明实施例中,异地应用服务器可以按照本地应用服务器的数据处理流程,获取异地用户登录信息,并将异地用户登录信息发送至异地应用登录信息同步设备。可以理解的是,每一个异地应用服务器的异地用户登录信息对于该异地应用服务器来说是本地用户登录信息。
S220、异地应用登录信息同步设备将所述异地用户登录信息发送至异地同步桥接设备。
其中,异地同步桥接设备可以是与异地应用登录信息同步设备通信连接的中间设备,用于对其通信连接的异地应用登录信息同步设备本地存储的用户登录信息同步发送至其他的用户登录信息同步设备,同时还可以接收其他的应用登录信息同步设备同步发送的用户登录信息。
S230、异地同步桥接设备将所述异地用户登录信息同步发送至所述本地应用登录信息同步设备。
在本发明实施例中,应用登录信息同步设备可以采用同步桥接设备作为中间设备实现用户登录信息的同步共享。具体的,异地应用登录信息同步设备可以将异地用户登录信息发送至异地同步桥接设备。异地同步桥接设备则可以将异地用户登录信息同步发送至本地应用登录信息同步设备。
S240、本地应用登录信息同步设备同步接收所述异地同步桥接设备发送的所述异地用户登录信息,并将所述异地应用服务器的异地用户登录信息发送至本地应用服务器。
相应的,当本地应用登录信息同步设备同步接收到各异地同步桥接设备发送的异地用户登录信息之后,即可将同步接收的异地应用服务器的异地用户登录信息发送至本地应用服务器。
S250、本地应用服务器根据所述异地用户登录信息和本地用户登录信息进行匹配。
S260、判断异地用户登录信息与本地用户登录信息是否相匹配,若是,执行S270,否则,执行S280。
S270、删除所述本地用户登录信息。
S280、允许本地用户登录。
在本发明的一个可选实施例中,所述方法还可以包括:所述本地应用服务器获取所述本地用户登录信息,并将所述本地用户登录信息发送至所述本地应用登录信息同步设备;所述本地应用登录信息同步设备将所述本地用户登录信息发送至本地同步桥接设备;所述本地同步桥接设备将所述本地用户登录信息同步发送至所述异地应用登录信息同步设备;所述异地应用登录信息同步设备同步接收所述本地同步桥接设备发送的所述本地用户登录信息,并将所述本地用户登录信息发送至所述异地应用服务器;所述异地应用服务器根据所述异地用户登录信息和所述本地用户登录信息进行匹配,并在确定所述异地用户登录信息与所述本地用户登录信息相匹配的情况下,删除所述异地用户登录信息。
其中,本地同步桥接设备可以是与本地应用登录信息同步设备通信连接的中间设备,用于对其通信连接的本地应用登录信息同步设备本地存储的用户登录信息同步发送至其他的用户登录信息同步设备,同时还可以接收其他的应用登录信息同步设备同步发送的用户登录信息。
在本发明实施例中,本地应用服务器同样需要获取本地用户登录信息,并将本地用户登录信息发送至本地应用登录信息同步设备。本地应用登录信息同步设备则需要将本地用户登录信息发送至本地同步桥接设备。本地同步桥接设备可以将本地用户登录信息同步发送至异地应用登录信息同步设备。异地应用登录信息同步设备同步接收本地同步桥接设备发送的本地用户登录信息,并将本地用户登录信息发送至所述异地应用服务器。可以理解的是,对于异地应用登录信息同步设备和异地应用服务器来说,本地应用服务器的本地用户登录信息实际为异地用户登录信息。示例性的,如图3所示,假设应用服务器1为本地应用服务器,应用服务器1的本地用户登录信息为用户登录信息1。则对于应用服务器2至应用服务器n来说,用户登录信息1为异地用户登录信息。相应的,异地应用服务器可以根据异地用户登录信息和本地用户登录信息进行匹配,并在确定异地用户登录信息与本地用户登录信息相匹配的情况下,删除异地用户登录信息,以实现登录互踢。
在本发明的一个可选实施例中,所述本地应用登录信息同步设备将所述本地用户登录信息发送至所述本地同步桥接设备,可以包括:所述本地应用登录信息同步设备创建容器,并在所述容器中注册线程池实例,通过所述线程池实例调用目标类方法,以通过所述目标类方法向所述本地同步桥接设备发送所述本地用户登录信息。
具体的,本地应用登录信息同步设备向本地同步桥接设备发送本地用户登录信息时,可以在本地创建容器,如创建Spring IoC(Inversion of Control,控制反转)容器,并在容器中注册线程池实例,如注册ThreadPool的实例(bean)。进一步的,通过注册的线程池实例调用目标类方法,以通过目标类方法向本地同步桥接设备发送本地用户登录信息。例如,可以通过ThreadPool实例在RedisPublisher类中实现publish方法,该方法可以接收String型(字符串类型)参数channel(同步桥接设备的消息队列的渠道号),用以向指定channel中发布信息。
在本发明的一个可选实施例中,本地应用登录信息同步设备和/或异地应用登录信息同步设备可以为Redis(REmote DIctionary Server,key-value存储系统,是跨平台的非关系型数据库)集群。本地同步桥接设备和/或异地同步桥接设备可以为安装桥接应用(bridge应用)的设备。
图5是本发明实施例二提供的一种应用登录系统的架构示意图。在一个具体的例子中,如图5所示,假设在A地和B地存在两个应用服务器,该应用服务器可以是容器化应用服务器,可以搭载容器化应用。部署在A、B两地的应用服务器各自连本地的redis集群,监听本地redis中的消息。当用户在某一应用服务器登陆时,该应用服务器将在本地redis集群中发布该条消息,消息内容可以基于UDP(User Datagram Protocol,用户数据报协议)进行封装。由于其余应用服务器监听此redis队列,它们会即时收到该消息,对消息进行解析后做互踢处理。由于A、B两地的应用服务器只连本地redis集群,无法获取对方redis集群中的用户登录信息,那么异地应用服务器将无法完成登录互踢操作。因此,可以在其他的设备上设置brige应用,brige应用同时连接A、B两地双边redis集群,监听本地的用户登录消息并转发至异地redis集群,保证用户在其中一地登陆时,A、B两地所有应用服务器都收到消息,并完成登录互踢。
图6是本发明实施例二提供的一种消息队列的发布/订阅模型的效果示意图。在一个具体的例子中,如图5和图6所示,A地的应用服务器作为消息发布者(Producer),向本地redis集群发布用户登陆信息。同时本地redis集群作为消息订阅者(Consumer),接收来自本地应用服务器的用户登录信息。Redis集群接收到消息后,将消息进行存储。
同时,A地的redis集群还作为消息订阅者,订阅来自本地bridge应用的用户登录信息。本地bridge应用是桥接应用,该应用通过查询B地redis集群中的用户登陆信息。此后,A地bridge应用就作为消息发布者,向A地redis集群提供B地的用户登录信息。同理,A地的redis集群也被B地的bridge应用所订阅,因此B地也可获取A地用户的登录信息。至此A,B两地的redis集群分别通过两层订阅关系,就可分别存储有本地和另一地的用户登陆信息,当检测到两地同时有相同用户登陆时,即可对先登录的用户执行踢出操作。
如图6所示,以A地为例具体说明。A地bridge应用基于消息队列的发布/订阅模式,订阅B地redis集群的用户登录信息。B地redis集群作为消息的发布者(Producer),发布主题为Topic(指与用户登录信息有关)的消息,至B地本地的redis队列中。A地bridge应用可能作为一个唯一消息消费者(Consumer),也可能是众多消费者之一。消息队列作为公共开源组件,在发布/订阅模式下已有两种实现:消费者主动拉取,以及生产者推送。可选的,可以采用生产者推送模式,即B地redis集群收到新的客户登陆信息后,向A地bridge应用推送。同时,A地redis集群也需要向B地bridge应用推送自己的增量用户登录信息,这里的推送方式可以采用Java多线程推送至订阅者的bridge应用。
可以理解的是,执行踢出动作的一方,是监听到用户登陆信息的bridge应用所在地,这里仍以A,B两地进行举例说明。假如A地bridge应用作为消息订阅方,收到消息推送B地有新登陆用户,然后与A地自己已有登陆用户相比较,若发现A地自己已有相同登陆状态的用户存在,则A地应用服务器会将自己处于相同登陆状态下的用户踢出。
综上所述,本发明实施例提供的应用登录系统所执行的应用登录方法原生支持登录互踢实现,不需开发者在原有框架上进行二次开发,使整个程序拥有极小的体积,舍弃了冗杂的安全和权限控制,近似为OAuth 2.0的三分之一,登录互踢效率更高。同时,应用登录系统可以单独抽离成实现登录互踢功能的组件,从而提高应用登录互踢操作的适用性。
实施例三
图7是本发明实施例三提供的一种应用登录系统的结构示意图,如图7所示,该应用登录系统的结构包括本地应用服务器310、异地应用服务器320、本地应用登录信息同步设备330以及异地应用登录信息同步设备340,本地应用服务器310与本地应用登录信息同步设备330通信连接;异地应用服务器320与异地应用登录信息同步设备340通信连接.其中:本地应用登录信息同步设备330用于同步获取异地应用登录信息同步设备340存储的异地应用服务器320的异地用户登录信息,并将异地应用服务器320的异地用户登录信息发送至本地应用服务器310;本地应用服务器310用于根据异地用户登录信息和本地用户登录信息进行匹配,并在确定异地用户登录信息与本地用户登录信息相匹配的情况下,删除本地用户登录信息。
图8是本发明实施例三提供的一种应用登录系统的结构示意图,如图8所示,可选的,应用登录系统还包括本地同步桥接设备350和异地同步桥接设备360,本地同步桥接设备350与本地应用登录信息同步设备330通信连接,异地同步桥接设备360与异地应用登录信息同步设备340通信连接;异地应用服务器320用于获取异地用户登录信息,并将异地用户登录信息发送至异地应用登录信息同步设备340;异地应用登录信息同步设备340用于将异地用户登录信息发送至异地同步桥接设备360;异地同步桥接设备360用于将异地用户登录信息同步发送至本地应用登录信息同步设备330;本地应用登录信息同步设备330用于同步接收异地同步桥接设备360发送的异地用户登录信息。
可选的,本地应用服务器310还用于获取本地用户登录信息,并将本地用户登录信息发送至本地应用登录信息同步设备330;本地应用登录信息同步设备330还用于将本地用户登录信息发送至本地同步桥接设备350;本地同步桥接设备350还用于将本地用户登录信息同步发送至异地应用登录信息同步设备360;异地应用登录信息同步设备360用于同步接收本地同步桥接设备350发送的本地用户登录信息,并将本地用户登录信息发送至异地应用服务器320;异地应用服务器320用于根据异地用户登录信息和本地用户登录信息进行匹配,并在确定异地用户登录信息与本地用户登录信息相匹配的情况下,删除异地用户登录信息。
可选的,本地应用登录信息同步设备330具体用于创建容器,并在容器中注册线程池实例,通过线程池实例调用目标类方法,以通过目标类方法向本地同步桥接设备350发送本地用户登录信息。
可选的,本地应用服务器310还用于获取本地用户登录信息,并将本地用户登录信息发送至本地应用登录信息同步设备330;本地应用登录信息同步设备330还用于同步存储本地用户登录信息。
可选的,本地应用服务器310具体用于在检测到本地用户登录操作时,根据本地用户登录操作生成本地用户登录信息;在本地应用服务器310的Java虚拟机的本地会话Session中存储本地用户登录信息。
可选的,本地应用登录信息同步设备330和/或异地应用登录信息同步设备340为Redis集群,本地同步桥接设备350和/或异地同步桥接设备360为安装桥接应用的设备。
本发明实施例通过本地应用服务器、异地应用服务器、本地应用登录信息同步设备以及异地应用登录信息同步设备构成一种应用登录系统,以通过本地应用登录信息同步设备同步获取异地应用登录信息同步设备存储的异地应用服务器的异地用户登录信息,并将异地应用服务器的异地用户登录信息发送至本地应用服务器。本地应用服务器可以根据异地用户登录信息和本地用户登录信息进行匹配,并在确定异地用户登录信息与本地用户登录信息相匹配的情况下,删除本地用户登录信息,解决现有应用登录方法存在的无法原生支持登录互踢以及登录互踢效率低等问题,从而实现原生支持应用登录的实时互踢操作,并提高应用登录互踢操作的效率和适用性。
需要说明的是,以上各实施例中各技术特征之间的任意排列组合也属于本发明的保护范围。
上述应用登录系统可执行本发明任意实施例所提供的应用登录方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明任意实施例提供的应用登录方法。
由于上述所介绍的应用登录系统为可以执行本发明实施例中的应用登录方法的系统,故而基于本发明实施例中所介绍的应用登录方法,本领域所属技术人员能够了解本实施例的应用登录系统的具体实施方式以及其各种变化形式,所以在此对于该应用登录系统如何实现本发明实施例中的应用登录方法不再详细介绍。只要本领域所属技术人员实施本发明实施例中应用登录方法所采用的系统,都属于本申请所欲保护的范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种应用登录方法,其特征在于,应用于应用登录系统,包括:
本地应用登录信息同步设备同步获取异地应用登录信息同步设备存储的异地应用服务器的异地用户登录信息,并将所述异地应用服务器的异地用户登录信息发送至本地应用服务器;
所述本地应用服务器根据所述异地用户登录信息和本地用户登录信息进行匹配,并在确定所述异地用户登录信息与所述本地用户登录信息相匹配的情况下,删除所述本地用户登录信息;
其中,所述本地应用登录信息同步设备和所述异地应用登录信息同步设备用于完成各应用服务器之间用户登录信息的同步共享;
在所述本地应用登录信息同步设备同步获取异地应用登录信息同步设备存储的所述异地应用服务器的异地用户登录信息之前,还包括:
异地应用服务器获取所述异地用户登录信息,并将所述异地用户登录信息发送至异地应用登录信息同步设备;
所述异地应用登录信息同步设备将所述异地用户登录信息发送至异地同步桥接设备;
所述异地同步桥接设备将所述异地用户登录信息同步发送至所述本地应用登录信息同步设备。
2.根据权利要求1所述的方法,其特征在于,所述本地应用登录信息同步设备同步获取异地应用登录信息同步设备存储的所述异地应用服务器的异地用户登录信息,包括:
所述本地应用登录信息同步设备同步接收所述异地同步桥接设备发送的所述异地用户登录信息。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
所述本地应用服务器获取所述本地用户登录信息,并将所述本地用户登录信息发送至所述本地应用登录信息同步设备;
所述本地应用登录信息同步设备将所述本地用户登录信息发送至本地同步桥接设备;
所述本地同步桥接设备将所述本地用户登录信息同步发送至所述异地应用登录信息同步设备;
所述异地应用登录信息同步设备同步接收所述本地同步桥接设备发送的所述本地用户登录信息,并将所述本地用户登录信息发送至所述异地应用服务器;
所述异地应用服务器根据所述异地用户登录信息和所述本地用户登录信息进行匹配,并在确定所述异地用户登录信息与所述本地用户登录信息相匹配的情况下,删除所述异地用户登录信息。
4.根据权利要求3所述的方法,其特征在于,所述本地应用登录信息同步设备将所述本地用户登录信息发送至所述本地同步桥接设备,包括:
所述本地应用登录信息同步设备创建容器,并在所述容器中注册线程池实例,通过所述线程池实例调用目标类方法,以通过所述目标类方法向所述本地同步桥接设备发送所述本地用户登录信息。
5.根据权利要求1所述的方法,其特征在于,在所述本地应用登录信息同步设备同步获取所述异地应用登录信息同步设备存储的所述异地应用服务器的异地用户登录信息之前,还包括:
所述本地应用服务器获取所述本地用户登录信息,并将所述本地用户登录信息发送至所述本地应用登录信息同步设备;
所述本地应用登录信息同步设备同步存储所述本地用户登录信息。
6.根据权利要求5所述的方法,其特征在于,所述本地应用服务器获取所述本地用户登录信息,包括:
所述本地应用服务器在检测到本地用户登录操作时,根据所述本地用户登录操作生成所述本地用户登录信息;
所述方法还包括:
在所述本地应用服务器的Java虚拟机的本地会话Session中存储所述本地用户登录信息。
7.根据权利要求3所述的方法,其特征在于,所述本地应用登录信息同步设备和/或所述异地应用登录信息同步设备为Redis集群,所述本地同步桥接设备和/或异地同步桥接设备为安装桥接应用的设备。
8.一种应用登录系统,其特征在于,所述应用登录系统包括本地应用服务器、异地应用服务器、本地应用登录信息同步设备以及异地应用登录信息同步设备,所述本地应用服务器与所述本地应用登录信息同步设备通信连接;所述异地应用服务器与所述异地应用登录信息同步设备通信连接;其中:
所述本地应用登录信息同步设备用于同步获取所述异地应用登录信息同步设备存储的所述异地应用服务器的异地用户登录信息,并将所述异地应用服务器的异地用户登录信息发送至所述本地应用服务器;
所述本地应用服务器用于根据所述异地用户登录信息和本地用户登录信息进行匹配,并在确定所述异地用户登录信息与所述本地用户登录信息相匹配的情况下,删除所述本地用户登录信息;
其中,所述本地应用登录信息同步设备和所述异地应用登录信息同步设备用于完成各应用服务器之间用户登录信息的同步共享;
所述应用登录系统还包括异地同步桥接设备,所述异地同步桥接设备与所述异地应用登录信息同步设备通信连接;
所述异地应用服务器用于获取所述异地用户登录信息,并将所述异地用户登录信息发送至所述异地应用登录信息同步设备;
所述异地应用登录信息同步设备用于将所述异地用户登录信息发送至所述异地同步桥接设备;
所述异地同步桥接设备用于将所述异地用户登录信息同步发送至所述本地应用登录信息同步设备。
9.根据权利要求8所述的系统,其特征在于,所述应用登录系统还包括本地同步桥接设备,所述本地同步桥接设备与所述本地应用登录信息同步设备通信连接;
所述本地应用登录信息同步设备用于同步接收所述异地同步桥接设备发送的所述异地用户登录信息。
10.根据权利要求8所述的系统,其特征在于:
所述本地应用服务器还用于获取所述本地用户登录信息,并将所述本地用户登录信息发送至所述本地应用登录信息同步设备;
所述本地应用登录信息同步设备还用于将所述本地用户登录信息发送至所述本地同步桥接设备;
所述本地同步桥接设备还用于将所述本地用户登录信息同步发送至所述异地应用登录信息同步设备;
所述异地应用登录信息同步设备用于同步接收所述本地同步桥接设备发送的所述本地用户登录信息,并将所述本地用户登录信息发送至所述异地应用服务器;
所述异地应用服务器用于根据所述异地用户登录信息和所述本地用户登录信息进行匹配,并在确定所述异地用户登录信息与所述本地用户登录信息相匹配的情况下,删除所述异地用户登录信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111358137.0A CN114124508B (zh) | 2021-11-16 | 2021-11-16 | 一种应用登录方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111358137.0A CN114124508B (zh) | 2021-11-16 | 2021-11-16 | 一种应用登录方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114124508A CN114124508A (zh) | 2022-03-01 |
CN114124508B true CN114124508B (zh) | 2024-04-19 |
Family
ID=80396816
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111358137.0A Active CN114124508B (zh) | 2021-11-16 | 2021-11-16 | 一种应用登录方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114124508B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101588344A (zh) * | 2008-05-20 | 2009-11-25 | 中兴通讯股份有限公司 | 一种网络系统中控制同一帐户登录的系统及方法 |
CN106331155A (zh) * | 2016-09-26 | 2017-01-11 | 联动优势电子商务有限公司 | 一种防止用户重复登录的方法和服务器 |
CN111431838A (zh) * | 2019-01-09 | 2020-07-17 | 北京神州泰岳软件股份有限公司 | 一种集群中单点登录和注销的方法、装置及api网关 |
CN112612985A (zh) * | 2020-12-24 | 2021-04-06 | 广州致远电子有限公司 | 基于WebSocket的多用户和多类型消息的推送系统及方法 |
CN113271308A (zh) * | 2021-05-20 | 2021-08-17 | 中国建设银行股份有限公司 | 系统登录鉴权方法、装置、计算机设备及可读存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100727057B1 (ko) * | 2005-06-22 | 2007-06-12 | 엔에이치엔(주) | 메시지 상태 점검 방법 및 시스템 |
WO2015024261A1 (zh) * | 2013-08-23 | 2015-02-26 | 华为技术有限公司 | 一种互联网账号管理方法、管理器、服务器和系统 |
CN106487911A (zh) * | 2016-10-25 | 2017-03-08 | 广东欧珀移动通信有限公司 | 一种数据同步方法、装置和系统 |
CN113157812A (zh) * | 2021-05-21 | 2021-07-23 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种分布式多集群状态类数据的同步方法及系统 |
-
2021
- 2021-11-16 CN CN202111358137.0A patent/CN114124508B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101588344A (zh) * | 2008-05-20 | 2009-11-25 | 中兴通讯股份有限公司 | 一种网络系统中控制同一帐户登录的系统及方法 |
CN106331155A (zh) * | 2016-09-26 | 2017-01-11 | 联动优势电子商务有限公司 | 一种防止用户重复登录的方法和服务器 |
CN111431838A (zh) * | 2019-01-09 | 2020-07-17 | 北京神州泰岳软件股份有限公司 | 一种集群中单点登录和注销的方法、装置及api网关 |
CN112612985A (zh) * | 2020-12-24 | 2021-04-06 | 广州致远电子有限公司 | 基于WebSocket的多用户和多类型消息的推送系统及方法 |
CN113271308A (zh) * | 2021-05-20 | 2021-08-17 | 中国建设银行股份有限公司 | 系统登录鉴权方法、装置、计算机设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114124508A (zh) | 2022-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11546388B2 (en) | Method and system for integrating real time communication features in applications | |
US11303647B1 (en) | Synthetic request injection to disambiguate bypassed login events for cloud policy enforcement | |
US11985168B2 (en) | Synthetic request injection for secure access service edge (SASE) cloud architecture | |
US11757944B2 (en) | Network intermediary with network request-response mechanism | |
US11190550B1 (en) | Synthetic request injection to improve object security posture for cloud security enforcement | |
US11831685B2 (en) | Application-specific data flow for synthetic request injection | |
EP2561656B1 (en) | Servlet api and method for xmpp protocol | |
US11336698B1 (en) | Synthetic request injection for cloud policy enforcement | |
US11888902B2 (en) | Object metadata-based cloud policy enforcement using synthetic request injection | |
KR20150003192A (ko) | 웹 클라이언트가 웹 서비스를 제공하는 것을 가능하게 하는 기법 | |
US20130086141A1 (en) | Systems and methods for security token management service hosted in application server | |
US9936027B2 (en) | Methods, systems, and computer readable media for application session sharing | |
CN113556359B (zh) | 一种通讯协议转换方法、设备、系统及网关设备 | |
US10142422B2 (en) | Clustering websocket communications with configurable master-slave servers | |
CN111064626A (zh) | 配置更新方法、装置、服务器及可读存储介质 | |
WO2022216315A1 (en) | Location reporting for service enabler architecture layer (seal) | |
CN114338682A (zh) | 流量身份标识传递方法、装置、电子设备及存储介质 | |
CN106878333B (zh) | 一种第三方认证方法、装置和应用系统服务器 | |
CN114124508B (zh) | 一种应用登录方法及系统 | |
US20230048931A1 (en) | Split input and output remote access | |
CN112929453B (zh) | 一种共享session数据的方法和装置 | |
Meirovitch et al. | NSC–Named Service Calls, or a Remote Procedure Call for NDN | |
CN115811441B (zh) | 一种k8s云平台上的命名空间创建方法、装置及电子设备 | |
CN117439984A (zh) | 一种用户登录控制方法、装置及相关设备 | |
CN114428924A (zh) | 一种基于grpc框架的服务请求处理方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |