CN110839041A - 支持多节点部署的单用户登录方法、装置、设备及介质 - Google Patents

支持多节点部署的单用户登录方法、装置、设备及介质 Download PDF

Info

Publication number
CN110839041A
CN110839041A CN201911157809.4A CN201911157809A CN110839041A CN 110839041 A CN110839041 A CN 110839041A CN 201911157809 A CN201911157809 A CN 201911157809A CN 110839041 A CN110839041 A CN 110839041A
Authority
CN
China
Prior art keywords
user
login
information table
session
current
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.)
Pending
Application number
CN201911157809.4A
Other languages
English (en)
Inventor
何若永
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Wave Intelligent Technology Co Ltd
Original Assignee
Suzhou Wave Intelligent Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Suzhou Wave Intelligent Technology Co Ltd filed Critical Suzhou Wave Intelligent Technology Co Ltd
Priority to CN201911157809.4A priority Critical patent/CN110839041A/zh
Publication of CN110839041A publication Critical patent/CN110839041A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1023Server selection for load balancing based on a hash applied to IP addresses or costs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1036Load balancing of requests to servers for services different from user content provisioning, e.g. load balancing across domain name servers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请公开了一种支持多节点部署的单用户登录方法、装置、设备及计算机可读存储介质。其中,方法包括按照基于客户端IP的分配方式为Nginx服务器设置负载均衡策略,且Nginx服务器支持节点热部署。在数据库系统中预构建用于记录当前登录用户数据信息的登录信息表。在用户登录系统时更新登录信息表,以使表中包含当前登录用户的一组用户id和会话id;对用户的所有访问请求均需进行校验,若用户id和会话id与登录信息表中一致,则允许数据访问;若不一致,则强制重定向至登录页面。本申请在保证系统功能业务正常运行的情况下,可灵活部署相互独立、为用户提供服务对用户透明的多个节点,且以轻量方式实现了每个用户在同一时间段内最多只能有一次登录的功能。

Description

支持多节点部署的单用户登录方法、装置、设备及介质
技术领域
本申请涉及分布式集群技术领域,特别是涉及一种支持多节点部署的单用户登录方法、装置、设备及计算机可读存储介质。
背景技术
常规BS架构单体项目的组织开发与部署,通常方案较为普通,应用场景的搭建与生产环境的构建也趋于常态化,整体来说,架构中的详细设计大多数以业务为核心、功能为导向,且很多内容只为个别具体需求而设计,而这些内容在一定程度上具有专属性,无法迁移或援引。就用户登录问题来讲,很多项目往往不存在特殊需求,或者说常规通用框架体系下的用户登录功能已经足够满足了在生产环境下进行使用的要求,不管如何去搭建运行环境、如何去进行其他组织结构的设计,单就这一问题来讲无须进行特殊的设计融入。但是,对于某些复杂情况下的多节点部署架构,仅靠原始方案完全无法解决问题。
单用户登录是一种比较科学的用户登录解决方案,在用户操作、账号安全、数据管控等很多方面均起到长效的安全保障作用,通过同一时间段内限制用户唯一登录这种机制,可以避免同一账户在同一时间段内因多次登录导致的多种类型的问题,比如数据操作的实际归属混乱、信息安全难以得到保证等。在常规单节点部署的web项目中设计和开发单用户登录功能已经非常容易而且技术也非常成熟,但是在面对同一项目需要在多台服务器上同时部署的情况,需要搭建成高可用并且能够做到负载均衡时,采用原始的设计方案显然已经无法适用此应用场景。原始的方案由于各节点各自为政、互相感受不到其他节点的有无,同时某一个节点处于登录态之后对其他节点来讲也无法感知和干涉,所以完全解决不了多节点部署、单地址访问下的单用户登录问题。
以CMS系统为例,结合图1所示,后台动态管理体系往往承担着较重的业务逻辑,一般进行一次开发、多节点部署,在多台服务器上以Tomcat作为web server来运行开发项目,每一个web server均为一个节点,然后在另外一台独立的服务器上部署Nginx作为反向代理web server,并将所有节点都配置其中,由其承担负载均衡,为保证数据一致性,一般会让所有节点访问同一个数据库服务器。同时,前台静态网站体系基本只涉及后台动态管理体系依照业务逻辑生成的静态页面,所以前端并无太大的负载量,对其的访问即使是在超高并发的应用场景中也会因为单纯只是文件读取所以一般无需投入较重的部署,但为保证可靠和稳定,搭建时会考虑部署多个节点。
不同于单节点部署结构,对于如上所示的多节点部署应用场景使得单用户登录变得复杂。鉴于此,如何在保证功能业务正常运行的情况下,灵活部署多个相互独立、为用户提供服务对用户透明的节点,以比较轻量的方式实现了每个用户在同一时间段内最多只能有一次登录的功能,是本领域技术人员需要解决的技术问题。
发明内容
本申请提供了一种支持多节点部署的单用户登录方法、装置、设备及计算机可读存储介质,在保证功能业务正常运行的情况下,以比较轻量的方式实现了每个用户在同一时间段内最多只能有一次登录的功能;每个后台节点相互独立、互不影响,且节点部署数量和部署位置均具备自由性,由哪个节点对用户提供服务对用户透明,用户无法感知和干涉具体节点的使用情况。
为解决上述技术问题,本发明实施例提供以下技术方案:
本发明实施例一方面提供了一种支持多节点部署的单用户登录方法,应用于包括数据库系统和Nginx服务器,且基于BS架构搭建的web系统,包括:
预先按照基于客户端IP的分配方式为所述Nginx服务器设置负载均衡策略,且所述Nginx服务器的配置文件中包含当前部署节点的数据信息以支持节点热部署;
当检测到用户登录所述web系统,更新登录信息表,以使所述登录信息表中包含当前登录用户的一组用户id和会话id;所述登录信息表预先构建在所述数据库系统,用于记录当前登录用户的数据信息;
对用户登录过程中的所有访问请求均进行校验,若当前登录用户的用户id和会话id与所述登录信息表中一致,则允许当前登录用户进行数据访问;若不一致,则强制重定向至登录页面。
可选的,所述当检测到用户登录所述web系统,更新登录信息表包括:
当检测到用户登录所述web系统,判断当前登录用户的用户id是否存在于所述登录信息表中;
若是,则输出账号已登录的提示信息,并发送是否进行重新登录的请求;
当检测到用户输入登录信息,则强制初始账号退出登录,同时删除所述初始账号在所述登录信息表中的所有数据,并记录当前登录用户的用户id和会话id,以更新所述登录信息表;
若否,则记录当前登录用户的用户id和会话id,以更新所述登录信息表。
可选的,所述检测到用户登录所述web系统之后,还包括:
当检测到用户退出所述web系统,清空与之相应的登录数据。
可选的,所述若当前登录用户的用户id和会话id与所述登录信息表中一致,则允许当前登录用户进行数据访问;若不一致,则强制重定向至登录页面包括:
校验当前登录用户的用户id是否存在于所述登录信息表中;
若是,则判断当前登录用户的会话id是否与所述登录信息表中的会话id一致;
若当前登录用户的会话id与所述登录信息表中的会话id一致,则允许当前登录用户进行数据访问并提供相应服务;若当前登录用户的会话id与所述登录信息表中的会话id不一致,则强制重定向至登录页面。
可选的,所述登录信息表中的用户id和会话id均具有唯一的索引信息。
本发明实施例另一方面提供了一种支持多节点部署的单用户登录装置,应用于包括数据库系统和Nginx服务器,且基于BS架构搭建的web系统,包括:
Nginx服务器预配置模块,用于预先按照基于客户端IP的分配方式为所述Nginx服务器设置负载均衡策略,且所述Nginx服务器的配置文件中包含当前部署节点的数据信息以支持节点热部署;
登录信息表预构建模块,用于预先在数据库系统中构建用于记录当前登录用户数据信息的登录信息表;
登录信息表更新模块,用于当检测到用户登录所述web系统,更新所述登录信息表,以使所述登录信息表中包含当前登录用户的一组用户id和会话id;
访问请求校验模块,用于对用户登录过程中的所有访问请求均进行校验;
允许访问模块,用于若当前登录用户的用户id和会话id与所述登录信息表中一致,则允许当前登录用户进行数据访问;
强制退出模块,用于若当前登录用户的用户id和会话id与所述登录信息表中不一致,则强制重定向至登录页面。
可选的,所述登录信息表更新模块包括:
重登录校验子模块,用于当检测到用户登录所述web系统,判断当前登录用户的用户id是否存在于所述登录信息表中;
重登录请求子模块,用于若当前登录用户的用户id存在于所述登录信息表中,则输出账号已登录的提示信息,并发送是否进行重新登录的请求;
强制退出子模块,用于当检测到用户输入登录信息,则强制初始账号退出登录;
信息更新子模块,用于当检测到用户输入登录信息,删除所述初始账号在所述登录信息表中的所有数据,并记录当前登录用户的用户id和会话id,以更新所述登录信息表;
信息登录子模块,用于若当前登录用户的用户id不存在于所述登录信息表中,则记录当前登录用户的用户id和会话id,以更新所述登录信息表。
可选的,还包括数据删除模块,用于当检测到用户退出所述web系统,清空与之相应的登录数据。
本发明实施例还提供了一种支持多节点部署的单用户登录设备,包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如前任一项所述支持多节点部署的单用户登录方法的步骤。
本发明实施例最后还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有支持多节点部署的单用户登录程序,所述支持多节点部署的单用户登录程序被处理器执行时实现如前任一项所述支持多节点部署的单用户登录方法的步骤。
本申请提供的技术方案的优点在于,Nginx服务器的负载均衡策略基于客户端IP的分配方式生成,使得每个后台节点相互独立、互不影响,确保了相同客户端的请求一直发送到相同的服务器,以保证session会话,这样每个访客都固定访问一个后端服务器,解决了session不能跨服务器的问题,同时避免了向相同客户端提供服务的节点随机性导致的用户登录态模糊的问题,由哪个节点对用户提供服务对用户透明,用户无法感知和干涉具体节点的使用情况;Nginx服务器的配置文件支持节点热部署,节点部署数量和部署位置均具备自由性,在增加或者缩减节点时依然无须对项目功能和项目代码以及数据库数据做出任何调整,即使在后续运行环境中某个节点出现意外而无法提供服务时,剩余节点完全不受影响而且依然能保障单用户登录模式并继续提供服务;通过创建登录信息表,验证用户登录信息是否与登录信息表中存储的信息匹配,匹配后放行访问请求,不匹配则重定向至登录页,且整个技术方案实现不需要引入任何第三方组织要件,在现有的web系统的基础上以轻量化方式实现了每个用户在同一时间段内最多只能有一次登录的功能,而且不影响系统业务的正常运行,提升了用户体验,保障了系统数据的安全性。
此外,本发明实施例还针对支持多节点部署的单用户登录方法提供了相应的实现装置、设备及计算机可读存储介质,进一步使得所述方法更具有实用性,所述装置、设备及计算机可读存储介质具有相应的优点。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
为了更清楚的说明本发明实施例或相关技术的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一个相关技术中的示例性应用场景的工作原理示意图;
图2为本发明实施例提供的一种支持多节点部署的单用户登录方法的流程示意图;
图3为本发明实施例提供的另一种支持多节点部署的单用户登录方法的流程示意图;
图4为本发明实施例提供的支持多节点部署的单用户登录装置的一种具体实施方式结构图;
图5为本发明实施例提供的支持多节点部署的单用户登录装置的另一种具体实施方式结构图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等是用于区别不同的对象,而不是用于描述特定的顺序。此外术语“包括”和“具有”以及他们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可包括没有列出的步骤或单元。
在介绍了本发明实施例的技术方案后,下面详细的说明本申请的各种非限制性实施方式。
首先请参见图2,图2为本发明实施例提供的一种支持多节点部署的单用户登录方法的流程示意图,本发明实施例可以应用于相关技术中任何一种基于BS架构搭建的web系统,在不需要引入第三方组织要件的基础上可实现多个部署节点的单节点用户登录。所谓的在不需要引入第三方组织要件是指,对于主要包含SpringMVC框架体系、Java编码的各类技术手段、数据库系统、Nginx服务器等、采用BS架构搭建的web系统,该web系统中的所有技术手段所采用的内容是即使不引入本申请技术方案实现的技术效果也同样为项目开发和实现的必需组成部分。本申请在多节点部署下实现单用户登录,实现方法比较便捷,而且运行也非常可靠,只需要充分利用部署的必需资源,无需投入第三方引用,轻量级的解决方案在处理了首要问题的同时,又不影响原始功能。本发明实施例可包括以下内容:
S201:预先按照基于客户端IP的分配方式为Nginx服务器设置负载均衡策略,且Nginx服务器的配置文件中包含当前部署节点的数据信息以支持节点热部署。
在本申请中,Nginx服务器在配置负载均衡策略时采用基于客户端IP分配的方式,可确保了相同客户端的请求一直发送到相同的服务器,以保证session会话,这样每个访客都固定访问一个后端服务器,解决了session不能跨服务器的问题,同时避免了向相同客户端提供服务的节点随机性导致的用户登录态模糊的问题。此外,在多节点部署的情况下,后台管理系统能可靠得保障单用户登录,而且支持节点热部署,在增加或者缩减节点时依然无须对项目功能和项目代码以及数据库数据做出任何调整,即使在后续运行环境中某个节点出现意外而无法提供服务时,剩余节点完全不受影响而且依然能保障单用户登录模式并继续提供服务。
S202:预先在数据库系统中构建用于记录当前登录用户的数据信息的登录信息表。
本发明实施例中,登录信息表只保存系统中各节点当前成功登录用户的用户数据信息,该表的访问频率极高,为能够保障实现本申请功能,同时最大限度地降低资源消耗,登录信息表可包含两个字段,一个是登录用户的用户id,一个是用户登录成功之后后台管理系统为其生成的sessionId。也即用户数据信息可为用户id和会话id。此外,为了提高信息检索效率,例如根据当前登录用户id检索表中是否存在该用户id,两个字段在表中均可添加索引,也即登录信息表中的用户id和会话id均可具有唯一的索引信息。
S203:当检测到用户登录web系统,更新登录信息表,以使登录信息表中包含当前登录用户的一组用户id和会话id。
可以理解的是,由于登录信息表只是存储系统中当前时刻成功登录的用户数据信息。当用户在某个时刻没有登录,那么此刻将允许正常合法登录后台管理系统,在登录信息表中添加该用户的用户数据信息,以更新登录信息表。当一个用户在第一设备上登录而且没有退出,同一用户在第二设备尝试登录时,由于表中已有该用户的数据信息,且登录信息表中只能存储当前成功登录用户的一组数据信息,若该用户需要在第二设备上登录时,那么就需要将第一设备对应的登录用户数据信息删除,然后添加第二设备对应的用户数据信息;或者也可直接将第一设备对应的用户数据信息的会话id更改为第二设备的会话id;或者还可将第二设备对应的用户数据信息覆盖第一设备对应的登录用户数据信息,以实现登录信息表的更新。
S204:对用户登录过程中的所有访问请求均进行校验。
为了确保web系统中在同一时刻只有一个用户登录,可对登录用户发送的所有访问请求均进行校验。可选的,可在web系统自带的拦截器中设置用户访问请求校验功能,拦截器会接收系统中登录用户的所有访问请求,所有访问请求都不能绕过该校验,并从访问请求中获取用户数据信息,对该用户数据信息进行校验。
S205:校验当前登录用户的用户id和会话id是否与登录信息表中一致,若是,则执行S206;若否,则执行S207。
S206:则允许当前登录用户进行数据访问。
S207:强制重定向至登录页面。
可选的,可先校验当前登录用户的用户id是否存在于登录信息表中;若是,则判断当前登录用户的会话id是否与登录信息表中的会话id一致;若当前登录用户的会话id与登录信息表中的会话id一致,则允许当前登录用户进行数据访问并提供相应服务;若当前登录用户的会话id与登录信息表中的会话id不一致,则强制重定向至登录页面。
在本发明实施例提供的技术方案中,Nginx服务器的负载均衡策略基于客户端IP的分配方式生成,使得每个后台节点相互独立、互不影响,确保了相同客户端的请求一直发送到相同的服务器,以保证session会话,这样每个访客都固定访问一个后端服务器,解决了session不能跨服务器的问题,同时避免了向相同客户端提供服务的节点随机性导致的用户登录态模糊的问题,由哪个节点对用户提供服务对用户透明,用户无法感知和干涉具体节点的使用情况;Nginx服务器的配置文件支持节点热部署,节点部署数量和部署位置均具备自由性,在增加或者缩减节点时依然无须对项目功能和项目代码以及数据库数据做出任何调整,即使在后续运行环境中某个节点出现意外而无法提供服务时,剩余节点完全不受影响而且依然能保障单用户登录模式并继续提供服务;通过创建登录信息表,验证用户登录信息是否与登录信息表中存储的信息匹配,匹配后放行访问请求,不匹配则重定向至登录页,且整个技术方案实现不需要引入任何第三方组织要件,在现有的web系统的基础上以轻量化方式实现了每个用户在同一时间段内最多只能有一次登录的功能,而且不影响系统业务的正常运行,提升了用户体验,保障了系统数据的安全性。
此外,本申请还提供了另外一个实施例,用户登录后,先判断在表中是否已经存在该用户id的登录数据,如果有则删除,然后存储下用户id与会话id,用户退出可删除该数据;用户进行系统操作所发送的所有访问请求都必须在后台校验该用户的用户id在存储登录信息的表中是否已经存在,如果存在,判断其会话id与表中对应存储的会话id是否一致,如果用户id和会话id均能匹配,则证明该用户已经登录,验证通过,可以继续访问,否则,对于不存在或者不匹配的情况,则证明已退出或者在其他地方被登录顶替,想要继续操作需要重新登录。但凡出现验证不通过的情况,都必须强制重定向至登录页面。请参见图3,图3为本发明实施例提供的另一种支持多节点部署的单用户登录方法的流程示意图,具体的可包括以下内容:
S301:预先按照基于客户端IP的分配方式为Nginx服务器设置负载均衡策略,且Nginx服务器的配置文件中包含当前部署节点的数据信息以支持节点热部署。
S302:预先在数据库系统中构建用于记录当前登录用户的数据信息的登录信息表。
S303:判断是否有用户登录web系统,若是,则执行S304。
S304:判断当前登录用户的用户id是否存在于登录信息表中,若是,则执行S305;若否,则执行S308。
S305:输出账号已登录的提示信息。
S306:发送是否进行重新登录的请求,若检测到用户输入登录信息,则执行S307。若没有检测到用户输入登录信息,则不作任何操作或回到登录页面。
S307:强制初始账号退出登录,同时删除初始账号在登录信息表中的所有数据,并记录当前登录用户的用户id和会话id,以更新登录信息表。
在本发明实施例中,若在登录信息表中已经存在用户id时,若检测到用户继续键入用户名密码登录后,需要将前者强制踢出使其进入退出登录状态,在这之后,前者的所有系统操作都会被禁止,操作任何功能都会被强制重定向至登录页面,而后者此时已经登录获得系统使用权限,可以正常进行业务操作。
S308:记录当前登录用户的用户id和会话id,以更新登录信息表。
S309:对用户登录过程中的所有访问请求均进行校验。
S310:校验当前登录用户的用户id和会话id是否与登录信息表中一致,若是,则执行S311;若否,则执行S312。
S311:则允许当前登录用户进行数据访问,并提供相应的服务。
S312:强制重定向至登录页面。
S313:当检测到用户退出web系统,清空与之相应的登录数据。
为了保证登录信息表的信息检索有效性和高效性,降低登录信息表占用空间容量值较大,可在用户退出后,及时将该用户在登录信息表中的所有信息都删除。
由上可知,本发明实施例在保证功能业务正常运行的情况下,以比较轻量的方式实现了每个用户在同一时间段内最多只能有一次登录的功能;每个后台节点相互独立、互不影响,且节点部署数量和部署位置均具备自由性,由哪个节点对用户提供服务对用户透明,用户无法感知和干涉具体节点的使用情况。
本发明实施例还针对支持多节点部署的单用户登录方法提供了相应的实现装置,进一步使得所述方法更具有实用性。下面对本发明实施例提供的支持多节点部署的单用户登录装置进行介绍,下文描述的支持多节点部署的单用户登录装置与上文描述的支持多节点部署的单用户登录方法可相互对应参照。
参见图4,图4为本发明实施例提供的支持多节点部署的单用户登录装置在一种具体实施方式下的结构图,应用于包括数据库系统和Nginx服务器,且基于BS架构搭建的web系统,该装置可包括:
Nginx服务器预配置模块401,用于预先按照基于客户端IP的分配方式为Nginx服务器设置负载均衡策略,且Nginx服务器的配置文件中包含当前部署节点的数据信息以支持节点热部署。
登录信息表预构建模块402,用于预先在数据库系统中构建用于记录当前登录用户数据信息的登录信息表。
登录信息表更新模块403,用于当检测到用户登录web系统,更新登录信息表,以使登录信息表中包含当前登录用户的一组用户id和会话id。
访问请求校验模块404,用于对用户登录过程中的所有访问请求均进行校验。
允许访问模块405,用于若当前登录用户的用户id和会话id与登录信息表中一致,则允许当前登录用户进行数据访问。
强制退出模块406,用于若当前登录用户的用户id和会话id与登录信息表中不一致,则强制重定向至登录页面。
可选的,在本实施例的一些实施方式中,所述登录信息表更新模块403例如还可以包括:
重登录校验子模块,用于当检测到用户登录web系统,判断当前登录用户的用户id是否存在于登录信息表中;
重登录请求子模块,用于若当前登录用户的用户id存在于登录信息表中,则输出账号已登录的提示信息,并发送是否进行重新登录的请求;
强制退出子模块,用于当检测到用户输入登录信息,则强制初始账号退出登录;
信息更新子模块,用于当检测到用户输入登录信息,删除初始账号在登录信息表中的所有数据,并记录当前登录用户的用户id和会话id,以更新登录信息表;
信息登录子模块,用于若当前登录用户的用户id不存在于登录信息表中,则记录当前登录用户的用户id和会话id,以更新登录信息表。
可选的,在本实施例的另一些实施方式中,请参阅图5,所述装置例如还可以包括数据删除模块407,用于当检测到用户退出web系统,清空与之相应的登录数据。
本发明实施例所述支持多节点部署的单用户登录装置的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可知,本发明实施例在保证功能业务正常运行的情况下,以比较轻量的方式实现了每个用户在同一时间段内最多只能有一次登录的功能;每个后台节点相互独立、互不影响,且节点部署数量和部署位置均具备自由性,由哪个节点对用户提供服务对用户透明,用户无法感知和干涉具体节点的使用情况。
本发明实施例还提供了一种支持多节点部署的单用户登录设备,具体可包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序以实现如上任意一实施例所述支持多节点部署的单用户登录方法的步骤。
本发明实施例所述支持多节点部署的单用户登录设备的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可知,本发明实施例在保证功能业务正常运行的情况下,以比较轻量的方式实现了每个用户在同一时间段内最多只能有一次登录的功能;每个后台节点相互独立、互不影响,且节点部署数量和部署位置均具备自由性,由哪个节点对用户提供服务对用户透明,用户无法感知和干涉具体节点的使用情况。
本发明实施例还提供了一种计算机可读存储介质,存储有支持多节点部署的单用户登录程序,所述支持多节点部署的单用户登录程序被处理器执行时如上任意一实施例所述支持多节点部署的单用户登录方法的步骤。该存储介质可以为U盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
本发明实施例所述计算机可读存储介质的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。
由上可知,本发明实施例在保证功能业务正常运行的情况下,以比较轻量的方式实现了每个用户在同一时间段内最多只能有一次登录的功能;每个后台节点相互独立、互不影响,且节点部署数量和部署位置均具备自由性,由哪个节点对用户提供服务对用户透明,用户无法感知和干涉具体节点的使用情况。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的一种支持多节点部署的单用户登录方法、装置、设备及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

Claims (10)

1.一种支持多节点部署的单用户登录方法,应用于包括数据库系统和Nginx服务器,且基于BS架构搭建的web系统,其特征在于,包括:
预先按照基于客户端IP的分配方式为所述Nginx服务器设置负载均衡策略,且所述Nginx服务器的配置文件中包含当前部署节点的数据信息以支持节点热部署;
当检测到用户登录所述web系统,更新登录信息表,以使所述登录信息表中包含当前登录用户的一组用户id和会话id;所述登录信息表预先构建在所述数据库系统,用于记录当前登录用户的数据信息;
对用户登录过程中的所有访问请求均进行校验,若当前登录用户的用户id和会话id与所述登录信息表中一致,则允许当前登录用户进行数据访问;若不一致,则强制重定向至登录页面。
2.根据权利要求1所述的支持多节点部署的单用户登录方法,其特征在于,所述当检测到用户登录所述web系统,更新登录信息表包括:
当检测到用户登录所述web系统,判断当前登录用户的用户id是否存在于所述登录信息表中;
若是,则输出账号已登录的提示信息,并发送是否进行重新登录的请求;
当检测到用户输入登录信息,则强制初始账号退出登录,同时删除所述初始账号在所述登录信息表中的所有数据,并记录当前登录用户的用户id和会话id,以更新所述登录信息表;
若否,则记录当前登录用户的用户id和会话id,以更新所述登录信息表。
3.根据权利要求1所述的支持多节点部署的单用户登录方法,其特征在于,所述检测到用户登录所述web系统之后,还包括:
当检测到用户退出所述web系统,清空与之相应的登录数据。
4.根据权利要求3所述的支持多节点部署的单用户登录方法,其特征在于,所述若当前登录用户的用户id和会话id与所述登录信息表中一致,则允许当前登录用户进行数据访问;若不一致,则强制重定向至登录页面包括:
校验当前登录用户的用户id是否存在于所述登录信息表中;
若是,则判断当前登录用户的会话id是否与所述登录信息表中的会话id一致;
若当前登录用户的会话id与所述登录信息表中的会话id一致,则允许当前登录用户进行数据访问并提供相应服务;若当前登录用户的会话id与所述登录信息表中的会话id不一致,则强制重定向至登录页面。
5.根据权利要求1至4任意一项所述的支持多节点部署的单用户登录方法,其特征在于,所述登录信息表中的用户id和会话id均具有唯一的索引信息。
6.一种支持多节点部署的单用户登录装置,其特征在于,应用于包括数据库系统和Nginx服务器,且基于BS架构搭建的web系统,包括:
Nginx服务器预配置模块,用于预先按照基于客户端IP的分配方式为所述Nginx服务器设置负载均衡策略,且所述Nginx服务器的配置文件中包含当前部署节点的数据信息以支持节点热部署;
登录信息表预构建模块,用于预先在数据库系统中构建用于记录当前登录用户数据信息的登录信息表;
登录信息表更新模块,用于当检测到用户登录所述web系统,更新所述登录信息表,以使所述登录信息表中包含当前登录用户的一组用户id和会话id;
访问请求校验模块,用于对用户登录过程中的所有访问请求均进行校验;
允许访问模块,用于若当前登录用户的用户id和会话id与所述登录信息表中一致,则允许当前登录用户进行数据访问;
强制退出模块,用于若当前登录用户的用户id和会话id与所述登录信息表中不一致,则强制重定向至登录页面。
7.根据权利要求6所述的支持多节点部署的单用户登录装置,其特征在于,所述登录信息表更新模块包括:
重登录校验子模块,用于当检测到用户登录所述web系统,判断当前登录用户的用户id是否存在于所述登录信息表中;
重登录请求子模块,用于若当前登录用户的用户id存在于所述登录信息表中,则输出账号已登录的提示信息,并发送是否进行重新登录的请求;
强制退出子模块,用于当检测到用户输入登录信息,则强制初始账号退出登录;
信息更新子模块,用于当检测到用户输入登录信息,删除所述初始账号在所述登录信息表中的所有数据,并记录当前登录用户的用户id和会话id,以更新所述登录信息表;
信息登录子模块,用于若当前登录用户的用户id不存在于所述登录信息表中,则记录当前登录用户的用户id和会话id,以更新所述登录信息表。
8.根据权利要求6所述的支持多节点部署的单用户登录装置,其特征在于,还包括数据删除模块,用于当检测到用户退出所述web系统,清空与之相应的登录数据。
9.一种支持多节点部署的单用户登录设备,其特征在于,包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求1至5任一项所述支持多节点部署的单用户登录方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有支持多节点部署的单用户登录程序,所述支持多节点部署的单用户登录程序被处理器执行时实现如权利要求1至5任一项所述支持多节点部署的单用户登录方法的步骤。
CN201911157809.4A 2019-11-22 2019-11-22 支持多节点部署的单用户登录方法、装置、设备及介质 Pending CN110839041A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911157809.4A CN110839041A (zh) 2019-11-22 2019-11-22 支持多节点部署的单用户登录方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911157809.4A CN110839041A (zh) 2019-11-22 2019-11-22 支持多节点部署的单用户登录方法、装置、设备及介质

Publications (1)

Publication Number Publication Date
CN110839041A true CN110839041A (zh) 2020-02-25

Family

ID=69577090

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911157809.4A Pending CN110839041A (zh) 2019-11-22 2019-11-22 支持多节点部署的单用户登录方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN110839041A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112243007A (zh) * 2020-10-15 2021-01-19 广东科徕尼智能科技有限公司 一种单用户登录的方法、设备、存储介质
WO2021237921A1 (zh) * 2020-05-27 2021-12-02 海信视像科技股份有限公司 一种账号登录状态的更新方法及显示设备
CN114679302A (zh) * 2022-03-01 2022-06-28 中信百信银行股份有限公司 对接单点登陆类系统的方法、装置、设备及存储介质
CN116680685A (zh) * 2023-06-09 2023-09-01 深圳普菲特信息科技股份有限公司 基于分布式存储的用户登录控制方法、系统和存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070101440A1 (en) * 2005-10-17 2007-05-03 Oracle International Corporation Auditing correlated events using a secure web single sign-on login
CN101588344A (zh) * 2008-05-20 2009-11-25 中兴通讯股份有限公司 一种网络系统中控制同一帐户登录的系统及方法
CN102082800A (zh) * 2011-01-28 2011-06-01 浪潮(北京)电子信息产业有限公司 一种用户请求处理的方法和服务器
CN106331155A (zh) * 2016-09-26 2017-01-11 联动优势电子商务有限公司 一种防止用户重复登录的方法和服务器
US20170134385A1 (en) * 2015-11-06 2017-05-11 Nasdaq, Inc. Systems and Methods for Controlling Sign-on to Web Applications
CN107689941A (zh) * 2016-08-04 2018-02-13 中兴通讯股份有限公司 一种防止同一用户重复登录的装置和方法
CN108989359A (zh) * 2018-10-12 2018-12-11 苏州创旅天下信息技术有限公司 服务器集群的验证登录方法及系统、可读存储介质和终端
CN110417876A (zh) * 2019-07-17 2019-11-05 中移(杭州)信息技术有限公司 会话方法、分布式系统中的节点服务器及主控设备
CN110445814A (zh) * 2019-09-20 2019-11-12 中国银行股份有限公司 基于会话的多用户并发登录控制方法、设备以及系统

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070101440A1 (en) * 2005-10-17 2007-05-03 Oracle International Corporation Auditing correlated events using a secure web single sign-on login
CN101588344A (zh) * 2008-05-20 2009-11-25 中兴通讯股份有限公司 一种网络系统中控制同一帐户登录的系统及方法
CN102082800A (zh) * 2011-01-28 2011-06-01 浪潮(北京)电子信息产业有限公司 一种用户请求处理的方法和服务器
US20170134385A1 (en) * 2015-11-06 2017-05-11 Nasdaq, Inc. Systems and Methods for Controlling Sign-on to Web Applications
CN107689941A (zh) * 2016-08-04 2018-02-13 中兴通讯股份有限公司 一种防止同一用户重复登录的装置和方法
CN106331155A (zh) * 2016-09-26 2017-01-11 联动优势电子商务有限公司 一种防止用户重复登录的方法和服务器
CN108989359A (zh) * 2018-10-12 2018-12-11 苏州创旅天下信息技术有限公司 服务器集群的验证登录方法及系统、可读存储介质和终端
CN110417876A (zh) * 2019-07-17 2019-11-05 中移(杭州)信息技术有限公司 会话方法、分布式系统中的节点服务器及主控设备
CN110445814A (zh) * 2019-09-20 2019-11-12 中国银行股份有限公司 基于会话的多用户并发登录控制方法、设备以及系统

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021237921A1 (zh) * 2020-05-27 2021-12-02 海信视像科技股份有限公司 一种账号登录状态的更新方法及显示设备
CN112243007A (zh) * 2020-10-15 2021-01-19 广东科徕尼智能科技有限公司 一种单用户登录的方法、设备、存储介质
CN114679302A (zh) * 2022-03-01 2022-06-28 中信百信银行股份有限公司 对接单点登陆类系统的方法、装置、设备及存储介质
CN114679302B (zh) * 2022-03-01 2024-05-10 中信百信银行股份有限公司 对接单点登陆类系统的方法、装置、设备及存储介质
CN116680685A (zh) * 2023-06-09 2023-09-01 深圳普菲特信息科技股份有限公司 基于分布式存储的用户登录控制方法、系统和存储介质
CN116680685B (zh) * 2023-06-09 2024-03-08 深圳普菲特信息科技股份有限公司 基于分布式存储的用户登录控制方法、系统和存储介质

Similar Documents

Publication Publication Date Title
CN110839041A (zh) 支持多节点部署的单用户登录方法、装置、设备及介质
CN110750747B (zh) 一种页面跳转方法、装置、设备及可读存储介质
JP5744656B2 (ja) シングルサインオンを提供するシステムおよびその制御方法、サービス提供装置、中継装置、並びにプログラム
US7320068B2 (en) Systems and methods to migrate a user profile when joining a client to a server and/or domain
US8850550B2 (en) Using cached security tokens in an online service
EP3374857B1 (en) Dashboard as remote computing services
CN104158818B (zh) 一种单点登录方法及系统
CN111786969B (zh) 单点登录方法、装置及系统
CN105378744A (zh) 在企业系统中的用户和设备认证
CN104781802A (zh) 资源栈中的自定义资源
CN106844111B (zh) 云存储网络文件系统的访问方法
US11811780B2 (en) Behavior-based authentication
CN115118705B (zh) 一种基于微服务的工业边缘管控平台
US11882154B2 (en) Template representation of security resources
CN1601954B (zh) 不中断服务地横跨安全边界移动主体
CN101908967B (zh) Linux虚拟服务器配置方法和系统
US11722481B2 (en) Multiple identity provider authentication system
CN112714166A (zh) 分布式存储系统的多集群管理方法及装置
Schaefer et al. Professional Iis 7
CN116094814A (zh) Vpn接入方法、装置、电子设备及存储介质
Wilde et al. RESTful SPARQL? You name it! Aligning SPARQL with REST and resource orientation
US11252157B1 (en) Permission management for electronic resources
CN114666161A (zh) 一种组件安全策略管理方法、装置、设备及存储介质
Cao et al. Unified account management for high performance computing as a service with microservice architecture
CN108881344B (zh) 业务处理方法、装置、存储设备及处理服务器

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20200225