CN106331155B - 一种防止用户重复登录的方法和服务器 - Google Patents
一种防止用户重复登录的方法和服务器 Download PDFInfo
- Publication number
- CN106331155B CN106331155B CN201610851825.3A CN201610851825A CN106331155B CN 106331155 B CN106331155 B CN 106331155B CN 201610851825 A CN201610851825 A CN 201610851825A CN 106331155 B CN106331155 B CN 106331155B
- Authority
- CN
- China
- Prior art keywords
- user
- session information
- server
- memory block
- information
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- 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
-
- 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/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/102—Entity profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明实施例涉及互联网技术领域,尤其涉及一种防止用户重复登录的方法和服务器,用以解决现有技术中出现同一用户在多个服务器上重复登录并操作的问题。本发明实施例中,第一服务器接收用户的操作请求;第一服务器判断是否具有用户的权限信息,若具有用户的权限信息,则从存储区获取用户的第一会话信息,第一会话信息为存储区中存储的用户最后一次成功登录的会话信息;第一服务器判断第一会话信息与用户当前操作的第二会话信息是否相同;若第一会话信息与第二会话信息不相同,则不执行用户的操作请求;从而使得用户只能在最后一次登录成功的服务器上执行操作,避免了用户同时在多个服务器上登录并操作造成的系统性能问题以及用户账号安全问题。
Description
技术领域
本发明实施例涉及互联网技术领域,尤其涉及一种防止用户重复登录的方法和服务器。
背景技术
Web集群是由多个同时运行同一个web应用的服务器组成,在外界看来就像一个服务器一样,多个服务器共同来为客户提供更高性能的服务。由于WEB集群环境中有多个服务器组成,从而会出现同一用户在多个服务器上登录并操作的情况,进而带来系统性能问题和安全问题。系统性能问题主要是多个相同的用户同时操作会对系统造成压力;安全问题指用户账号安全性的问题,允许一个账户重复登录,就会有多人在不同服务器上同时操作同一个账户的可能性,就有可能造成操作冲突、操作结果不符合预期等。现有技术中解决用户在服务器上重复登录的方法主要是利用数据库标记用户登录状态;但这种方式由于需要频繁地与数据库交互,容易引起性能问题,因为数据库建立连接是消耗时间和资源的;同时这种方式也需要考虑用户非正常退出的情况,如果用户直接关闭浏览器或者是计算机,那么数据库中的字段永远是已登录标记,那么下次用户登录时,用户会登录不进去,其实真实的情况是并没有用户处于登录状态;因此,现有技术中利用数据库标记用户登录状态的方法并没有很好解决同一用户在多个服务器上重复登录并操作的问题。
发明内容
本发明实施例提供一种防止用户重复登录的方法和服务器,用以解决现有技术中出现同一用户在多个服务器上重复登录并操作的问题。
本发明实施例提供一种防止用户重复登录的方法,应用于集群WEB环境中,包括:
第一服务器接收用户的操作请求,第一服务器为所述集群WEB环境中用户登录成功的任意一个服务器;
第一服务器判断是否具有用户的权限信息,若具有用户的权限信息,则从存储区获取用户的第一会话信息,第一会话信息为存储区中存储的用户最后一次成功登录的会话信息;
第一服务器判断第一会话信息与用户当前操作的第二会话信息是否相同;
若第一会话信息与第二会话信息不相同,则不执行用户的操作请求。
可选的,还包括:
若第一服务器不具有用户的权限信息,则注销用户在第一服务器上的登录信息。
可选的,还包括:
若第一会话信息与第二会话信息相同,则执行用户的操作请求。
可选的,若所述第一会话信息与所述第二会话信息不相同,还包括:
从所述第一服务器上删除所述用户的权限信息并注销所述用户在所述第一服务器上的登录信息。
可选的,第一服务器接收用户的操作请求之前,还包括:
第一服务器获取用户的登录请求并建立用户的第二会话信息;
第一服务器查询存储区中是否存有用户的会话信息;
若存储区中存有用户的会话信息,则判断第二会话信息与存储区中保存的用户的会话信息是否相同;
若不相同,则将第二会话信息作为用户在存储区中的会话信息。
可选的,还包括:
若存储区中未存有用户的会话信息,则将用户的第二会话信息保存至存储区。
可选的,还包括:
更新用户在存储区中的会话信息的生效时间;
若用户在存储区中的会话信息的生效时间在设定时间段内没有更新,则删除用户在存储区中的会话信息。
本发明实施例提供一种防止用户重复登录的服务器,服务器为集群WEB环境中用户登录成功的任意一个服务器,包括:
接收模块,用于接收用户的操作请求;
第一判断模块,用于判断所述服务器是否具有用户的权限信息,若具有用户的权限信息,则从存储区获取用户的第一会话信息,第一会话信息为存储区中存储的用户最后一次成功登录的会话信息;
第二判断模块,用于判断第一会话信息与用户当前操作的第二会话信息是否相同;若第一会话信息与第二会话信息不相同,则不执行所述用户的操作请求。
可选的,第一判断模块具体用于:
若服务器不具有用户的权限信息,则注销用户在服务器上的登录信息。
可选的,第二判断模块还用于:
若第一会话信息与第二会话信息相同,则执行用户的操作请求。
可选的,还包括:
处理模块,用于若第一会话信息与第二会话信息不相同,则从服务器上删除用户的权限信息并注销用户在服务器上的登录信息。
可选的,还包括:
登录模块,用于获取用户的登录请求并建立用户的第二会话信息;
查询存储区中是否存有用户的会话信息;
若存储区中存有用户的会话信息,则判断第二会话信息与存储区中保存的用户的会话信息是否相同;
若不相同,则将第二会话信息作为用户在存储区中的会话信息。
可选的,登录模块还用于:
若存储区中未存有用户的会话信息,则将用户的第二会话信息保存至存储区。
可选的,登录模块还用于:
更新用户在存储区中的会话信息的生效时间;
若用户在存储区中的会话信息的生效时间在设定时间段内没有更新,则删除用户在存储区中的会话信息。
从上述内容可看出:本发明实施例提供一种防止用户重复登录的方法和服务器,应用于集群WEB环境中,第一服务器接收用户的操作请求,第一服务器为集群WEB环境中用户登录成功的任意一个服务器;第一服务器判断是否具有用户的权限信息,若具有用户的权限信息,则从存储区获取用户的第一会话信息,第一会话信息为存储区中存储的用户最后一次成功登录的会话信息;第一服务器判断第一会话信息与用户当前操作的第二会话信息是否相同;若第一会话信息与第二会话信息不相同,则不执行用户的操作请求。
由于用户每次登录集群WEB环境中后,根据负载均衡用户可能分配到不同的服务器上,故用户可能在不同的服务器上成功登录;用户一旦在服务器上登录成功,登录成功的服务器都会接收用户操作请求,接收到用户操作请求的服务器首先判断自身是否包括用户的权限信息,若服务器包含用户的权限信息,则获取存储区中用户的会话信息;由于存储区中对于同一个用户只存储该用户最后一次登录成功的会话信息,故通过比较用户当前操作的会话信息和存储区中用户的会话信息可以判断此时用户是否在最后一次登录成功的服务器上操作,若用户当前操作的会话信息和存储区中用户的会话信息不相同,说明此时用户在其它服务器上登录了,并且当前不是在最后一次登录成功的服务器上操作,故用户当前操作不能执行,从而使得用户只能在最后一次登录成功的服务器上执行操作,避免了用户同时在多个服务器上登录并操作造成的系统性能问题以及用户账号安全问题。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍。
图1为本发明实施例提供了一种系统架构示意图;
图2为本发明实施例提供的一种防止用户重复登录的方法流程示意图;
图3为本发明实施例提供的一种用户登录的方法流程示意图;
图4为本发明实施例提供的一种防止用户重复登录的服务器的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图1示例性示出了本发明实施例适用的一种系统架构示意图,如图1所示,本发明实施例适用的系统架构包括终端101、服务器102、服务器103、服务器104、数据库105,通过无线连接或有线连接或其他方式连接。
终端可以指用户设备(User Equipment,简称UE)、接入终端、用户单元、用户站、移动站、移动台、远方站、远程终端、移动设备、用户终端、终端、无线通信设备、用户代理或用户装置。接入终端可以是蜂窝电话、无绳电话、会话启动协议(Session InitiationProtocol,简称SIP)电话、无线本地环路(Wireless Local Loop,简称WLL)站、个人数字处理(Personal Digital Assistant,简称PDA)、具有无线通信功能的手持设备、计算设备或连接到无线调制解调器的其它处理设备、车载设备、可穿戴设备,未来5G网络中的终端设备等。
服务器102、服务器103和服务器104可以是用于与终端进行通信的设备,例如,可以是具有信息处理功能的计算机设备,如Web集群中运行同一个web应用的服务器。Redis集群可以用来存储WEB集群中各服务器上用户登录的会话信息,对于一个用户,Redis集群只保存用户在WEB集群中一个服务器上的会话信息;Redis集群是一个实现分布式并且允许单点故障的Redis高级版本,Redis集群没有最重要或者说中心节点,这个版本最主要的一个目标是设计一个线性可伸缩的功能,Redis集群为了数据的一致性可能牺牲部分允许单点故障的功能,所以当网络故障和节点发生故障时这个系统会尽力去保证数据的一致性和有效性。
图2示例性示出了本发明实施例提供的一种防止用户重复登录的方法流程示意图。
步骤S201,第一服务器接收用户的操作请求,第一服务器为集群WEB环境中用户登录成功的任意一个服务器;
步骤S202,第一服务器判断是否具有用户的权限信息,若具有用户的权限信息,则从存储区获取用户的第一会话信息,第一会话信息为存储区中存储的用户最后一次成功登录的会话信息;
步骤S203,第一服务器判断第一会话信息与用户当前操作的第二会话信息是否相同;
步骤S204,若第一会话信息与第二会话信息不相同,则不执行用户的操作请求。
具体实施中,集群WEB环境由多个同时运行同一个WEB应用的服务器组成,在外界看来就像一个服务器一样,这多台服务器共同来为客户提供更高性能的服务。集群更标准的定义是:一组相互独立的服务器在网络中表现为单一的系统,并以单一系统的模式加以管理,此单一系统为客户工作站提供高可靠性的服务。用户登录集群WEB环境中后,域名系统(Domain Name System,简称DNS)根据负载均衡实现合理的任务分配,使这些服务器不会出现因某一台超负荷、而其他的服务器却没有充分发挥处理能力的情况。负载均衡有两个方面的含义:首先,把大量的并发访问或数据流量分担到多台节点上分别处理,减少用户等待响应的时间;其次,单个高负载的运算分担到多台节点上做并行处理,每个节点设备处理结束后,将结果汇总,再返回给用户,使得信息系统处理能力可以得到大幅度提高。权限信息具体包括系统展示给用户的菜单和这些菜单包含的各种操作资源;用户成功登录一个服务器之后,该服务器中将存有用户的权限信息;当用户注销登录、关闭浏览器或计算机时,服务器中的用户权限信息将自动清除。
为了更清楚的介绍上述方法流程,本发明实施例提供以下示例。
由于集群WEB环境中包含多个服务器,从而同一用户可能在同一时间在不同的服务器上同时登录,比如,用户1进入登录界面,输入账号和密码后提交,DNS根据负载均衡将用户1分配在服务器A上,则用户1在服务器A上成功登录;用户1在没有注销服务器A上登录的情况下,再次进入登录界面登录时,DNS根据负载均衡可能将用户1分配在服务器B上,故用户1在服务器B上也登录成功,此时集群WEB环境中用户登录成功的服务器包括服务器A和服务器B;服务器A和服务器B均能收到用户1的操作请求;服务器A和服务器B均接收到用户1的操作请求之后,服务器A判断自身是否具有用户1的权限信息,服务器B中的判断自身是否具有用户1的权限信息,由于用户1在服务器A和服务器B上都登录成功,则服务器A和服务器B都具有用户1的权限信息,故服务器A和服务器B都从存储区获取用户1的会话信息;由于用户1最后是在服务器B上登录成功,所示存储区中保存的是用户成功登录服务器B的会话信息;当服务器A将获取的存储区中用户1的会话信息和用户1当前操作的会话信息进行比较,得到用户1当前操作的会话信息与存储区中用户1的会话信息不相同,说明用户1在其它地方登录了,所以不执行用户1的操作请求。若第一会话信息与第二会话信息相同,则执行用户的操作请求,服务器B将获取的存储区中用户1的会话信息和用户1当前操作的会话信息进行比较,得出用户1当前操作的会话信息与存储区中用户1的会话信息相同,说明用户1最后在服务器B上登录成功,所以执行用户1的操作请求。由此用户虽然在不同的服务器上同时登录,但是用户只能在一个服务器上进行操作,一方面避免了多个相同用户同时操作对系统造成压力,另一方面也避免了多人同时操作同一账户带来的操作冲突。
可选的,若所述第一会话信息与所述第二会话信息不相同,还包括:从第一服务器上删除用户的权限信息并注销用户在第一服务器上的登录信息。
具体实施中,服务器A确定用户1当前操作的会话信息与存储区中用户1的会话信息不相同之后,服务器A会将服务器A中所包含的用户1的权限信息删除并注销用户1在服务器A上的登录;具体实施中,还可以是服务器A只将用户1在服务器A上的权限信息删除,并不注销用户1在服务器A上的登录。可选的,还包括:若第一服务器不具有用户的权限信息,则注销用户在第一服务器上的登录信息。具体实施中,当用户1再次向服务器A发送操作请求时,服务器A判断是否具有用户1的权限信息,此时服务器A不具有用户1的权限信息,之后再注销用户1在服务器A上的登录;由此防止了同一用户在不同的服务器上同时登录并操作。
上述实施例为用户已成功登录多个服务器之后,针对该用户的操作请求的处理,在上述实施例中一方面避免了多个服务器对用户的同一个操作请求的处理;另一方面,也实现了在执行操作请求的过程中,注销用户在其他服务器上的登录信息,进一步减轻了其他服务器在后续对该用户的操作请求的处理,减少了网络通讯资源的冗余占用。
为进一步介绍存储区中保存的是用户最后一次成功登录的会话信息,以如下实施例介绍用户进行登录请求的具体实现过程,图3示例性示出了本发明实施例提供的一种用户登录的方法流程示意图。
步骤S301,第一服务器获取用户的登录请求
步骤S302,第一服务器建立用户的第二会话信息;
步骤S303,第一服务器查询存储区中用户的会话信息;
步骤S304,判断存储区中是否存有用户的会话信息,若是,则执行步骤S305否则执行步骤S306;
步骤S305,判断第二会话信息与存储区中保存的用户的会话信息是否相同,若是,则执行步骤S307,否则执行步骤S308;
步骤S306,将用户的第二会话信息保存至存储区;
步骤S307,存储区继续保存用户的会话信息;
步骤S308,将第二会话信息作为用户在存储区中的会话信息。
具体实施中,服务器在获取用户的登录请求后,服务器将建立用户的会话和每个会话对应的会话信息,会话信息可以是sessionid,一个用户成功登录一个服务器后对应特定的会话信息,不同的用户在不同的服务器上登陆后得到的会话信息都是不一样的;存储区可以是Redis集群或其他形式的存储装置;
本发明实施例提供一种服务器将用户的会话信息保存至存储区的示例,比如,设定WEB集群中有服务器A和服务器B,用户1发送登录请求,分为以下几种情况:
情况一、用户1进入登录界面输入账号密码,若DNS根据负载均衡将用户1分配在服务器A或服务器B时,则用户1在服务器A或服务器B上登录成功,服务器A或服务器B查询存储区中用户1的会话信息后,得到存储区中不包含用户1的会话信息,则存储区将用户1在服务器A或服务器B上的会话信息保存至存储区。
情况二、当用户1正在服务器A上登录,此时存储区中保存的是用户1在服务器A上的会话信息,用户1再次进入登录界面输入账号密码,若DNS根据负载均衡将用户1分配在服务器B时,则用户1在服务器A和服务器B上同时登录成功,服务器B查询存储区中用户1的会话信息后,得到存储区中用户1的会话信息与用户1在服务器B上的会话信息不一致,则存储区先删除已保存的用户1在服务器A上的会话信息,再保存用户1在服务器B上的会话信息;
情况三、当用户1正在服务器A上登录,此时存储区中保存的是用户1在服务器A上的会话信息,用户1再次进入登录界面输入账号密码,若DNS根据负载均衡将用户1分配在服务器A时,则用户1仍旧在服务器A上登录,服务器A查询存储区中用户1的会话信息后,得到存储区中用户1的会话信息与用户1在服务器A上的会话信息一致,则存储区继续保存用户1在服务器A上的会话信息;
情况四、当用户1在服务器A上成功登录后关闭浏览器或者计算机,此时存储区中保存的是用户1在服务器A上的会话信息,用户1再次进入登录界面输入账号密码,此时无论DNS将用户1分配在服务器A还是服务器B上,服务器A或服务器B会给用户1建立新的会话信息,此时服务器A或服务器B查询存储区后,存储区中用户1的会话信息与服务器A或服务器B上用户1的会话信息不一致,则存储区先清除已保存的用户1在服务器A上的会话信息,再保存用户1在服务器A或服务器B上的会话信息。
情况五、当用户1在服务器A上正常注销登录后没有关闭浏览器时,浏览器在用户正常注销登录后一段时间内保存用户1的会话信息,此时存储区中保存的是用户1在服务器A上的会话信息,这段时间内用户1进入原浏览器页面输入账号密码,若DNS根据负载均衡将用户1分配在服务器A时,则浏览器将保存的用户1的会话信息提交给服务器A,用户1仍旧在服务器A上登录并且用户1在服务器A上的会话信息不发生改变,服务器A查询存储区中用户1的会话信息后,得到存储区中用户1的会话信息与用户1在服务器A上的会话信息一致,则存储区继续保存用户1在服务器A上的会话信息;
情况六、当用户1在服务器A上正常注销登录后没有关闭浏览器时,此时存储区中保存的是用户1在服务器A上的会话信息,用户1再次进入原浏览器页面输入账号密码,若DNS根据负载均衡将用户1分配在服务器B时,则用户1服务器B上登录成功,服务器B查询存储区中用户1的会话信息后,得到存储区中用户1的会话信息与用户1在服务器B上的会话信息不一致,则存储区先清除已保存的用户1在服务器A上的会话信息,再保存用户1在服务器B上的会话信息。上述实施例中,存储区只保存用户最后一次成功登录的会话信息,从而在后续用户操作中,通过比较用户操作的会话信息与存储区中保存的用户的会话信息可以判断用户是否重复登录,从而使得用户只能在最后一次成功登录的服务器上操作。
可选的,还包括:
更新用户在存储区中的会话信息的生效时间;
若用户在存储区中的会话信息的生效时间在设定时间段内没有更新,则删除用户在存储区中的会话信息。
具体实施中,存储区中存储的用户的会话信息具有时效性,用户的会话信息的生效时间可以根据具体情况进行设定。比如设定存储区中用户的会话信息生效时间是24小时,若服务器A将用户1的会话信息保存到存储区中24小时之后,服务器A或其他服务器没有更新了存储区中用户1的会话信息,则存储区中用户1的会话信息将失效并删除。
从上述内容可看出:本发明实施例提供一种防止用户重复登录的方法和服务器,应用于集群WEB环境中,第一服务器接收用户的操作请求,第一服务器为集群WEB环境中用户登录成功的任意一个服务器;第一服务器判断是否具有用户的权限信息,若具有用户的权限信息,则从存储区获取用户的第一会话信息,第一会话信息为存储区中存储的用户最后一次成功登录的会话信息;第一服务器判断第一会话信息与用户当前操作的第二会话信息是否相同;若第一会话信息与第二会话信息不相同,则不执行用户的操作请求。
由于用户每次登录集群WEB环境中后,根据负载均衡用户可能分配到不同的服务器上,故用户可能在不同的服务器上成功登录;用户一旦在服务器上登录成功,登录成功的服务器都会接收用户操作请求,接收到用户操作请求的服务器首先判断自身是否包括用户的权限信息,若服务器包含用户的权限信息,则获取存储区中用户的会话信息;由于存储区中对于同一个用户只存储该用户最后一次登录成功的会话信息,故通过比较用户当前操作的会话信息和存储区中用户的会话信息可以判断此时用户是否在最后一次登录成功的服务器上操作,若用户当前操作的会话信息和存储区中用户的会话信息不相同,说明此时用户在其它服务器上登录了,并且当前不是在最后一次登录成功的服务器上操作,故用户当前操作不能执行,从而使得用户只能在最后一次登录成功的服务器上执行操作,避免了用户同时在多个服务器上登录并操作造成的系统性能问题以及用户账号安全问题。
图4示例性示出了本发明实施例提供的一种防止用户重复登录的服务器的结构示意图。
基于相同构思,本发明实施例提供的一种防止用户重复登录的服务器的结构示意图,如图4所示,该服务器包括登录模块401、接收模块402、第一判断模块403、第二判断模块404和处理模块405;其中:
接收模块402,用于接收用户的操作请求;
第一判断模块403,用于判断所述服务器是否具有用户的权限信息,若具有用户的权限信息,则从存储区获取用户的第一会话信息,第一会话信息为存储区中存储的用户最后一次成功登录的会话信息;
第二判断模块404,用于判断第一会话信息与用户当前操作的第二会话信息是否相同;若第一会话信息与第二会话信息不相同,则不执行所述用户的操作请求。
可选的,第一判断模块403具体用于:
若服务器不具有用户的权限信息,则注销用户在服务器上的登录信息。
可选的,第二判断模块404还用于:
若第一会话信息与第二会话信息相同,则执行用户的操作请求。
可选的,还包括:
处理模块405,用于若第一会话信息与第二会话信息不相同,则从服务器上删除用户的权限信息并注销用户在服务器上的登录信息。
可选的,还包括:
登录模块401,用于获取用户的登录请求并建立用户的第二会话信息;
查询存储区中是否存有用户的会话信息;
若存储区中存有用户的会话信息,则判断第二会话信息与存储区中保存的用户的会话信息是否相同;
若不相同,则将第二会话信息作为用户在存储区中的会话信息。
可选的,登录模块401还用于:
若存储区中未存有用户的会话信息,则将用户的第二会话信息保存至存储区。
可选的,登录模块401还用于:
更新用户在存储区中的会话信息的生效时间;
若用户在存储区中的会话信息的生效时间在设定时间段内没有更新,则删除用户在存储区中的会话信息。
从上述内容可看出:本发明实施例提供一种防止用户重复登录的方法和服务器,应用于集群WEB环境中,第一服务器接收用户的操作请求,第一服务器为集群WEB环境中用户登录成功的任意一个服务器;第一服务器判断是否具有用户的权限信息,若具有用户的权限信息,则从存储区获取用户的第一会话信息,第一会话信息为存储区中存储的用户最后一次成功登录的会话信息;第一服务器判断第一会话信息与用户当前操作的第二会话信息是否相同;若第一会话信息与第二会话信息不相同,则不执行用户的操作请求。
由于用户每次登录集群WEB环境中后,根据负载均衡用户可能分配到不同的服务器上,故用户可能在不同的服务器上成功登录;用户一旦在服务器上登录成功,登录成功的服务器都会接收用户操作请求,接收到用户操作请求的服务器首先判断自身是否包括用户的权限信息,若服务器包含用户的权限信息,则获取存储区中用户的会话信息;由于存储区中对于同一个用户只存储该用户最后一次登录成功的会话信息,故通过比较用户当前操作的会话信息和存储区中用户的会话信息可以判断此时用户是否在最后一次登录成功的服务器上操作,若用户当前操作的会话信息和存储区中用户的会话信息不相同,说明此时用户在其它服务器上登录了,并且当前不是在最后一次登录成功的服务器上操作,故用户当前操作不能执行,从而使得用户只能在最后一次登录成功的服务器上执行操作,避免了用户同时在多个服务器上登录并操作造成的系统性能问题以及用户账号安全问题。
本领域内的技术人员应明白,本发明的实施例可提供为方法、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (14)
1.一种防止用户重复登录的方法,其特征在于,应用于集群WEB环境中,包括:
第一服务器接收用户的操作请求,所述第一服务器为所述集群WEB环境中所述用户登录成功的任意一个服务器;
所述第一服务器判断是否具有所述用户的权限信息,若具有所述用户的权限信息,则从存储区获取所述用户的第一会话信息,所述第一会话信息为所述存储区中存储的用户最后一次成功登录的会话信息,会话信息用于唯一标识用户登录的服务器;
所述第一服务器判断所述第一会话信息与所述用户当前操作的第二会话信息是否相同;
若所述第一会话信息与所述第二会话信息不相同,则不执行所述用户的操作请求。
2.如权利要求1所述的方法,其特征在于,还包括:
若所述第一服务器不具有所述用户的权限信息,则注销所述用户在所述第一服务器上的登录信息。
3.如权利要求1所述的方法,其特征在于,还包括:
若所述第一会话信息与所述第二会话信息相同,则执行所述用户的操作请求。
4.如权利要求1所述的方法,其特征在于,若所述第一会话信息与所述第二会话信息不相同,还包括:
从所述第一服务器上删除所述用户的权限信息并注销所述用户在所述第一服务器上的登录信息。
5.如权利要求1至4任一项所述的方法,其特征在于,所述第一服务器接收用户的操作请求之前,还包括:
所述第一服务器获取所述用户的登录请求并建立所述用户的所述第二会话信息;
所述第一服务器查询所述存储区中是否存有所述用户的会话信息;
若所述存储区中存有所述用户的会话信息,则判断所述第二会话信息与所述存储区中保存的所述用户的会话信息是否相同;
若不相同,则将所述第二会话信息作为所述用户在所述存储区中的会话信息。
6.如权利要求5所述的方法,其特征在于,还包括:
若所述存储区中未存有所述用户的会话信息,则将所述用户的第二会话信息保存至所述存储区。
7.如权利要求5所述的方法,其特征在于,还包括:
更新所述用户在所述存储区中的会话信息的生效时间;
若所述用户在所述存储区中的会话信息的生效时间在设定时间段内没有更新,则删除所述用户在所述存储区中的会话信息。
8.一种防止用户重复登录的服务器,其特征在于,所述服务器为集群WEB环境中用户登录成功的任意一个服务器,包括:
接收模块,用于接收用户的操作请求;
第一判断模块,用于判断所述服务器是否具有所述用户的权限信息,若具有所述用户的权限信息,则从存储区获取所述用户的第一会话信息,所述第一会话信息为所述存储区中存储的用户最后一次成功登录的会话信息,会话信息用于唯一标识用户登录的服务器;
第二判断模块,用于判断所述第一会话信息与所述用户当前操作的第二会话信息是否相同;若所述第一会话信息与所述第二会话信息不相同,则不执行所述用户的操作请求。
9.如权利要求8所述的服务器,其特征在于,所述第一判断模块具体用于:
若所述服务器不具有所述用户的权限信息,则注销所述用户在所述服务器上的登录信息。
10.如权利要求8所述的服务器,其特征在于,所述第二判断模块还用于:
若所述第一会话信息与所述第二会话信息相同,则执行所述用户的操作请求。
11.如权利要求8所述的服务器,其特征在于,还包括:
处理模块,用于若所述第一会话信息与所述第二会话信息不相同,则从所述服务器上删除所述用户的权限信息并注销所述用户在所述服务器上的登录信息。
12.如权利要求8至11任一项所述的服务器,其特征在于,还包括:
登录模块,用于获取所述用户的登录请求并建立所述用户的所述第二会话信息;
查询所述存储区中是否存有所述用户的会话信息;
若所述存储区中存有所述用户的会话信息,则判断所述第二会话信息与所述存储区中保存的所述用户的会话信息是否相同;
若不相同,则将所述第二会话信息作为所述用户在所述存储区中的会话信息。
13.如权利要求12所述的服务器,其特征在于,所述登录模块还用于:
若所述存储区中未存有所述用户的会话信息,则将所述用户的第二会话信息保存至所述存储区。
14.如权利要求12所述的服务器,其特征在于,所述登录模块还用于:
更新所述用户在所述存储区中的会话信息的生效时间;
若所述用户在所述存储区中的会话信息的生效时间在设定时间段内没有更新,则删除所述用户在所述存储区中的会话信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610851825.3A CN106331155B (zh) | 2016-09-26 | 2016-09-26 | 一种防止用户重复登录的方法和服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610851825.3A CN106331155B (zh) | 2016-09-26 | 2016-09-26 | 一种防止用户重复登录的方法和服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106331155A CN106331155A (zh) | 2017-01-11 |
CN106331155B true CN106331155B (zh) | 2019-05-07 |
Family
ID=57820001
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610851825.3A Active CN106331155B (zh) | 2016-09-26 | 2016-09-26 | 一种防止用户重复登录的方法和服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106331155B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106878335B (zh) * | 2017-03-28 | 2020-10-16 | 武汉斗鱼网络科技有限公司 | 一种用于登录验证的方法及系统 |
CN106973106B (zh) * | 2017-03-29 | 2020-06-02 | 中国农业银行股份有限公司 | 一种获取会话信息的方法、装置及系统 |
CN110475088B (zh) * | 2018-05-09 | 2021-06-11 | 视联动力信息技术股份有限公司 | 一种用户登录的方法和装置 |
CN110839041A (zh) * | 2019-11-22 | 2020-02-25 | 苏州浪潮智能科技有限公司 | 支持多节点部署的单用户登录方法、装置、设备及介质 |
CN112968862A (zh) * | 2020-12-31 | 2021-06-15 | 南京联创互联网技术有限公司 | 一种基于redis的单点登录方法与装置 |
CN114124508B (zh) * | 2021-11-16 | 2024-04-19 | 上海浦东发展银行股份有限公司 | 一种应用登录方法及系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102082800A (zh) * | 2011-01-28 | 2011-06-01 | 浪潮(北京)电子信息产业有限公司 | 一种用户请求处理的方法和服务器 |
CN102694786A (zh) * | 2011-03-25 | 2012-09-26 | 株式会社野村综合研究所 | 会话管理系统 |
CN103118092A (zh) * | 2013-01-24 | 2013-05-22 | 中国联合网络通信集团有限公司 | 单次登录实现方法和装置 |
CN104735098A (zh) * | 2013-12-18 | 2015-06-24 | 青岛海尔空调器有限总公司 | 会话信息的控制方法和控制系统 |
CN105072123A (zh) * | 2015-08-21 | 2015-11-18 | 广州博鳌纵横网络科技有限公司 | 一种集群环境下的单点登陆退出方法及系统 |
CN105100057A (zh) * | 2015-06-05 | 2015-11-25 | 北京奇虎科技有限公司 | 应用数据处理方法与系统 |
CN105610853A (zh) * | 2016-01-18 | 2016-05-25 | 网易(杭州)网络有限公司 | 一种通信方法、系统及应用服务端 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7020645B2 (en) * | 2001-04-19 | 2006-03-28 | Eoriginal, Inc. | Systems and methods for state-less authentication |
-
2016
- 2016-09-26 CN CN201610851825.3A patent/CN106331155B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102082800A (zh) * | 2011-01-28 | 2011-06-01 | 浪潮(北京)电子信息产业有限公司 | 一种用户请求处理的方法和服务器 |
CN102694786A (zh) * | 2011-03-25 | 2012-09-26 | 株式会社野村综合研究所 | 会话管理系统 |
CN103118092A (zh) * | 2013-01-24 | 2013-05-22 | 中国联合网络通信集团有限公司 | 单次登录实现方法和装置 |
CN104735098A (zh) * | 2013-12-18 | 2015-06-24 | 青岛海尔空调器有限总公司 | 会话信息的控制方法和控制系统 |
CN105100057A (zh) * | 2015-06-05 | 2015-11-25 | 北京奇虎科技有限公司 | 应用数据处理方法与系统 |
CN105072123A (zh) * | 2015-08-21 | 2015-11-18 | 广州博鳌纵横网络科技有限公司 | 一种集群环境下的单点登陆退出方法及系统 |
CN105610853A (zh) * | 2016-01-18 | 2016-05-25 | 网易(杭州)网络有限公司 | 一种通信方法、系统及应用服务端 |
Also Published As
Publication number | Publication date |
---|---|
CN106331155A (zh) | 2017-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106331155B (zh) | 一种防止用户重复登录的方法和服务器 | |
CN105515759B (zh) | 一种微服务注册方法及系统 | |
CN108833181B (zh) | Ng-cn网络切片系统及网络切片选择方法 | |
CN109831548B (zh) | 虚拟内容分发网络vCDN节点建立方法及服务器 | |
US9198223B2 (en) | Telecommunication network | |
US11432171B2 (en) | Providing uninterrupted access to resources via a mobile hotspot connection | |
CN110049485A (zh) | 一种配置ue的策略的方法、装置和系统 | |
CN102761568A (zh) | 远程控制方法及服务器 | |
CN104754009A (zh) | 一种服务获取调用方法、装置以及客户端和服务器 | |
CN113572864B (zh) | 一种数据处理方法、网元设备以及可读存储介质 | |
TWI640214B (zh) | 一種網路接入方法、相關設備和系統 | |
CN104244243B (zh) | 终端外设控制方法、机器对机器网关及通信系统 | |
EP4319093A1 (en) | Method and apparatus for selecting edge application server | |
US20200076823A1 (en) | Localized access control for authorized modifications of data using a cryptographic hash | |
CN114338682A (zh) | 流量身份标识传递方法、装置、电子设备及存储介质 | |
CN111586672B (zh) | 网络通话信息处理方法及装置 | |
CN115226103A (zh) | 一种通信方法及装置 | |
CN108667914A (zh) | 一种信息推送方法、装置、系统及电子设备 | |
CN115174558A (zh) | 云网端一体化身份认证方法、装置、设备及存储介质 | |
CN102137153A (zh) | 远端控制通信设备的方法、设备及系统 | |
CN104954373B (zh) | 统一通信主动sip呼叫方法及系统 | |
CN110933016B (zh) | 呼叫中心系统的登录认证方法和装置 | |
CN111490997B (zh) | 任务处理方法、代理系统、服务系统和电子设备 | |
CN103200211B (zh) | 一种数据同步方法、系统和设备 | |
RU2673018C2 (ru) | Системы и способы управления конечными точками связи |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |