CN102739686B - 一种限制用户多地点同时登录的方法 - Google Patents
一种限制用户多地点同时登录的方法 Download PDFInfo
- Publication number
- CN102739686B CN102739686B CN201210230843.1A CN201210230843A CN102739686B CN 102739686 B CN102739686 B CN 102739686B CN 201210230843 A CN201210230843 A CN 201210230843A CN 102739686 B CN102739686 B CN 102739686B
- Authority
- CN
- China
- Prior art keywords
- login
- voucher
- user
- credential
- time
- 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
Abstract
本发明提出了一种限制用户多地点同时登录的方法,根据用户登录所在计算机的硬件信息生成一个登录凭证,并设置该凭证的有效期,然后将凭证传递到服务器端,客户端每隔一定周期自动的进行凭证的续期,服务器端依据凭证及有效期对登录进行限制控制。本发明所述方法不依赖于任何基于注销触发事件的方式,能够有效的对客户登录行为进行限制。
Description
技术领域
本发明涉及一种限制用户多地点同时登录的方法,属于信息技术领域。
背景技术
在信息管理系统软件中,为了保障整个业务流程在管理上是闭环的,这就要求,每个环节都是可控的,在业务处理的每个环节都是由特定的用户来负责完成的,为了保障业务的一致性,唯一性和不可抵赖性,软件系统均要求在系统层面对用户的登录行为进行控制,限制用户在同一时刻只能在一个地点进行登录,主要有两个好处:一方面在应用层面避免了业务处理的冲突,在一定程度上减轻了数据库方面的压力;另一方面可以尽早的发现用户身份被盗用,提高了系统的安全等级。
在限制用户登录过程中需要考虑客户端正常、非正常注销以及系统崩溃等多种复杂情况,在已有的解决方案中,大都选用微软的主域控制器加上LimitLogon工具来完成类似的限制,但该方法在技术实现上较为复杂,并且需要额外配置域控制器来完成,额外增加了项目的成本与开发周期,特别对于中小软件项目该解决方案很难适用,迫切的需要一种简单易用的方法来解决限制用户多地点同时登录的难题。
发明内容
本发明的目的是克服现有技术中存在的不足,提供一种限制用户多地点同时登录的方法,本方法不依赖于任何基于注销触发事件的方式,能够有效的对客户登录行为进行限制。
按照本发明提供的技术方案,所述的限制用户多地点同时登录的方法是:根据用户登录所在计算机的硬件信息生成一个登录凭证,并设置所述凭证的有效期,然后将凭证传递到服务器端,客户端每隔一定周期自动的进行凭证的续期,服务器端依据凭证及有效期对登录进行限制控制,若凭证在有效期内则允许用户登录,否则拒绝用户登录。
所述凭证是系统判断特定用户登录的唯一证据,所述凭证的属性信息包括:用户标识、登录所在计算机MAC地址、精确到毫秒的登录时间、有效期,并将属性信息采用对称加密算法进行加密后传递给服务器端。
所述凭证中的登录时间LoginTime有两个用途,一是用于和计算机MAC地址一起构建对登录地点的唯一描述;二是由服务器端的登录限制服务控制整个用户的登录生命周期;凭证中的有效期TimeOut用于记录还有多长时间就可以认为该用户已经注销、退出或异常关闭。
进一步的,所述的限制用户多地点同时登录的方法具体包括以下步骤:
(1)查询对应用户的登录凭证记录表,并对该用户的该条凭证进行数据库级加锁,防止此时用户在其它地点并发登录,在此基础上读取出用户的最近一次历史登录凭证,记为:Credential_History[UserId,SiteId,LoginTime,TimeOut];UserId,SiteId,LoginTime,TimeOut分别表示所述用户标识、登录所在计算机MAC地址、登录时间、有效期;
(2)判断当前登录凭证中的计算机MAC地址Credential_Current.SiteId是否等于最近一次历史登录凭证中的计算机MAC地址Credential_History.SiteId,若等于说明是在本机进行再次登录,则直接允许登录,并将当前登录凭证Credential_Current记录到登录凭证记录表中,并将允许登录信息返回到客户端中;
(3)若当前登录凭证中的计算机MAC地址Credential_Current.SiteId不等于最近一次历史登录凭证中的计算机MAC地址Credential_History.SiteId则说明此次登录的地点同上次不同,转到步骤4进行继续判断;
(4)判断Credential_Current.LoginTime - Credential_History.LoginTime是否大于Credential_History.TimeOut,即当前登录凭证中的登录时间与最近一次历史登录凭证中的登录时间之差是否大于最近一次历史登录凭证中的有效期;若大于则说明原登录已经注销或程序停止运行,此时返回允许登录信息到客户端中,否则说明用户已经登录,且目前正在使用系统中,禁止该用户重复登录,返回禁止登录信息到客户端中;
(5)客户端成功登录后,启动一个专门的线程,定时发送凭证续期时间TimeLease信息给服务器端,服务器端接收到续期请求后,会更新用户的登录凭证记录中的TimeOut属性值,使TimeOut = TimeOut + TimeLease,等号表示等号右边的值赋值到左边的量,此处TimeLease=TimeMax/2,TimeMax是系统允许的在一个地点注销后,能在另一个地点登录的最大时间间隔;
(6)客户端循环的按周期向服务器端进行续期。
本发明的优点是:本发明所述的方法简单易用,其实施不需部署专门的主域控制器,成本非常低。
附图说明
图1是本发明的总体流程图。
图2是客户端与服务器端信息交互关系图。
具体实施方式
下面结合附图和实施例对本发明作进一步说明。
本发明所述的限制用户多地点同时登录的方法涉及软件的客户端与软件的服务器端,其中客户端负责用户的合法性判断,以及登录凭证的生成、缓存及凭证续期,服务器端负责登录凭证信息的记录、续期的增加以及判断是否允许登录。本发明的基本思想是根据用户登录所在计算机的硬件信息生成一个登录凭证,并设置该凭证的有效期,然后将凭证传递到服务器端,客户端每隔一定周期自动的进行凭证的续期,服务器端依据凭证及有效期对登录进行限制控制。
所述凭证是系统判断特定用户登录的唯一证据,所述凭证的属性信息包括:用户标识UserId、登录所在计算机MAC地址SiteId、精确到毫秒的登录时间LoginTime、有效期TimeOut,并将属性信息采用对称加密算法进行加密后传递给服务器端。
如图1所示,具体步骤如下:
(1)客户端根据用户的录入信息,判断其是否合法用户,若是合法用户则获取该用户的UserId、Mac地址、CPUId(主机CPU的标识)等信息,并获得服务器的当前时间作为本次登录的LoginTime,设置TimeOut = TimeLease=TimeMax/2,基于上述信息构建登录凭证,经对称加密后传递到服务器端的登录验证服务(采用标准的对称加密算法进行加密);
(2)登录验证服务接收到登录请求后,经解密后依据凭证中的UserId查询对应用户的登录凭证记录表,并对该行记录进行加锁,防止其他用户更改该记录;
(3)服务器端登录验证服务,采用“登录限制方法”对登录信息进行验证,并将登录验证信息经加密后反馈到客户端登录模块中,并对登录凭证记录进行解锁;
(4)客户端接收到登录验证信息后,对信息进行解密后解析,若被限制登录,则提示该用户已在其它地点登录,并将该地点的MAC地址反馈给用户,用户可同网管联系确定究竟在何处登录;
(5)若客户端接收到允许登录信息,则导航到指定的目标功能界面以供用户使用,同时启动一个单独的线程,按周期TimeMax/2向服务器进行续期,至此登录过程结束。
上述过程中所涉及的客户端与服务器端信息交互关系如图2所示。
凭证的生成:用户登录的凭证是系统判断特定用户登录的唯一证据,本方法中,登录凭证包括:用户标识、计算机MAC地址、精确到毫秒的登录时间、有效期等属性信息,并将该信息采用对称加密算法进行加密后传递给服务器端。
凭证中的用户标识为信息系统中对用户的唯一性的描述,通过该属性可以识别具体的登录者是谁,此处用UserId来表示。
凭证中的计算机MAC地址为信息系统中对地点的唯一性描述,考虑到计算机网卡的MAC地址亦可配置,因此为了更精确的对地点进行唯一性描述,通过联合用户计算机的CPUId一起构造对地点的唯一性描述,即SiteId =MacAddress+CPUId,通过该属性可以识别具体的登录地点是哪儿。
凭证中的登录时间,此处用LoginTime来表述,有两个用途,一个用途是用于和MAC地址一起构建对登录地点的唯一描述;另一个用途是由服务器端的登录限制服务控制整个用户的登录生命周期。
凭证中的有效期,此处用TimeOut来表述,其主要用于记录该用户还有多长时间就可以认为其已经注销、退出或异常关闭。
登录限制方法如下。
在客户端登录时,将登录的凭证信息发送给服务器端的登录处理服务,此凭证信息记为:Credential_Current[UserId,SiteId,LoginTime,TimeOut]服务器端的登录处理服务的处理方法如下:
(1) 查询对应用户的登录凭证记录表,并对该用户的该条凭证进行数据库级加锁,防止此时用户在其它地点并发登录现象的产生,在此基础上读取出用户的最近一次历史登录凭证,在此处记为:Credential_History[UserId,SiteId,LoginTime,TimeOut]。
(2) 判断Credential_Current. SiteId 是否等于 Credential_History. SiteId,若等于说明是在本机进行再次登录,则直接允许其登录,并将Credential_Current信息记录到登录凭证记录表中,并将允许登录信息返回到客户端中。
(3) 若Credential_Current. SiteId 不等于 Credential_History. SiteId则说明此次登录的地点同上次不同,转到步骤4进行处理。
(4) 判断( Credential_Current.LoginTime - Credential_History.LoginTime )是否大于Credential_History.TimeOut,若大于则说明原登录已经注销或程序停止运行,此时可以返回允许登录信息到客户端中,否则说明该用户已经登录,目前正在使用系统中,禁止该用户登录,返回禁止登录信息到客户端中。
(5) 客户端成功登录后,启动一个专门的线程,通过该线程定时发送凭证续期时间TimeLease信息给服务器端,服务器端接收到续期请求后,会更新该用户的登录凭证记录中的TimeOut属性值,使TimeOut = TimeOut + TimeLease,此处TimeLease的大小同系统允许的在一个地点注销后,能在另一个地点登录的最大时间间隔TimeMax有关,依据采样定理TimeLease=TimeMax/2。
客户端循环的按周期TimeLease向服务器端进行续期。
Claims (1)
1. 一种限制用户多地点同时登录的方法,其特征是:包括以下步骤:
(1)、根据用户登录所在计算机的硬件信息生成一个登录凭证,并设置所述凭证的有效期,然后将凭证传递到服务器端,客户端每隔一定周期自动的进行凭证的续期,服务器端依据凭证及有效期对登录进行限制控制,若凭证在有效期内则允许用户登录,否则拒绝用户登录;
(2)、所述凭证是系统判断特定用户登录的唯一证据,所述凭证的属性信息包括:用户标识、登录所在计算机MAC地址、精确到毫秒的登录时间、有效期,并将属性信息采用对称加密算法进行加密后传递给服务器端;
(3)、凭证中的登录时间LoginTime有两个用途,一是用于和计算机MAC地址一起构建对登录地点的唯一描述;二是由服务器端的登录限制服务控制整个用户的登录生命周期;凭证中的有效期TimeOut用于记录还有多长时间就可以认为该用户已经注销、退出或异常关闭;
(4)、所述的限制用户多地点同时登录的方法还包括以下步骤:
(a)查询对应用户的登录凭证记录表,并对该用户的该条凭证进行数据库级加锁,防止此时用户在其它地点并发登录,在此基础上读取出用户的最近一次历史登录凭证,记为:Credential_History[UserId,SiteId,LoginTime,TimeOut];UserId,SiteId,LoginTime,TimeOut分别表示所述用户标识、登录所在计算机MAC地址、登录时间、有效期;
(b)判断当前登录凭证中的计算机MAC地址Credential_Current.SiteId是否等于最近一次历史登录凭证中的计算机MAC地址Credential_History.SiteId,若等于说明是在本机进行再次登录,则直接允许登录,并将当前登录凭证Credential_Current记录到登录凭证记录表中,并将允许登录信息返回到客户端中;
(c)若当前登录凭证中的计算机MAC地址Credential_Current.SiteId不等于最近一次历史登录凭证中的计算机MAC地址Credential_History.SiteId则说明此次登录的地点同上次不同,转到步骤d进行继续判断;
(d)判断Credential_Current.LoginTime - Credential_History.LoginTime是否大于Credential_History.TimeOut,即当前登录凭证中的登录时间与最近一次历史登录凭证中的登录时间之差是否大于最近一次历史登录凭证中的有效期;若大于则说明原登录已经注销或程序停止运行,此时返回允许登录信息到客户端中,否则说明用户已经登录,且目前正在使用系统中,禁止该用户重复登录,返回禁止登录信息到客户端中;
(e)客户端成功登录后,启动一个专门的线程,定时发送凭证续期时间TimeLease信息给服务器端,服务器端接收到续期请求后,会更新用户的登录凭证记录中的TimeOut属性值,使TimeOut = TimeOut + TimeLease,等号表示等号右边的值赋值到左边的量,此处TimeLease=TimeMax/2,TimeMax是系统允许的在一个地点注销后,能在另一个地点登录的最大时间间隔;
(f)客户端循环的按周期向服务器端进行续期。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210230843.1A CN102739686B (zh) | 2012-07-05 | 2012-07-05 | 一种限制用户多地点同时登录的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210230843.1A CN102739686B (zh) | 2012-07-05 | 2012-07-05 | 一种限制用户多地点同时登录的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102739686A CN102739686A (zh) | 2012-10-17 |
CN102739686B true CN102739686B (zh) | 2014-09-24 |
Family
ID=46994469
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210230843.1A Active CN102739686B (zh) | 2012-07-05 | 2012-07-05 | 一种限制用户多地点同时登录的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102739686B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102984222B (zh) * | 2012-11-13 | 2015-09-09 | 北京奇虎科技有限公司 | 对浏览器用户登录进行控制的方法和客户端 |
CN103036909B (zh) * | 2012-12-29 | 2016-03-30 | 华为技术有限公司 | 一种识别重复上线的方法、服务器和客户端 |
CN103067404B (zh) * | 2013-01-10 | 2018-09-28 | 上海斐讯数据通信技术有限公司 | 一种用户访问嵌入式web服务器的方法 |
CN104348779A (zh) * | 2013-07-26 | 2015-02-11 | 镇江雅迅软件有限责任公司 | 一种禁止同一用户重复登录的实现方法 |
CN103746958B (zh) * | 2013-11-18 | 2018-05-29 | 广州多益网络股份有限公司 | 一种限时登录的方法及装置 |
CN104717187B (zh) * | 2013-12-16 | 2018-11-23 | 中国移动通信集团公司 | 一种登录方法及设备 |
CN105376274A (zh) * | 2014-08-21 | 2016-03-02 | 中兴通讯股份有限公司 | 登录处理方法、装置及系统 |
CN104239772B (zh) * | 2014-08-25 | 2018-07-06 | 联想(北京)有限公司 | 一种信息处理方法和电子设备 |
CN104394128B (zh) * | 2014-11-10 | 2018-08-03 | 安磊 | 一种终端访问服务器的控制方法 |
WO2017012016A1 (zh) * | 2015-07-21 | 2017-01-26 | 深圳市银信网银科技有限公司 | 一种分段修改电子凭证各阶段有效期的方法及系统 |
CN107689941A (zh) * | 2016-08-04 | 2018-02-13 | 中兴通讯股份有限公司 | 一种防止同一用户重复登录的装置和方法 |
CN113014568B (zh) | 2016-10-10 | 2023-06-30 | 创新先进技术有限公司 | 账户登录方法、设备和服务器 |
CN108021803A (zh) * | 2016-10-31 | 2018-05-11 | 黄策 | 按时空划分保护账户登陆信息的管理方法 |
CN108881200B (zh) * | 2018-06-08 | 2020-08-11 | 江苏中威科技软件系统有限公司 | 基于tcp的多终端同时在线的方法和系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101064717A (zh) * | 2006-04-26 | 2007-10-31 | 北京华科广通信息技术有限公司 | 信息系统或设备的安全防护系统及其工作方法 |
CN101247216A (zh) * | 2008-03-17 | 2008-08-20 | 北京亿企通信息技术有限公司 | 一种在即时通信工具中从客户端登录Web端的方法 |
CN101552780A (zh) * | 2009-04-30 | 2009-10-07 | 用友软件股份有限公司 | 验证方法和验证装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8505083B2 (en) * | 2010-09-30 | 2013-08-06 | Microsoft Corporation | Remote resources single sign on |
-
2012
- 2012-07-05 CN CN201210230843.1A patent/CN102739686B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101064717A (zh) * | 2006-04-26 | 2007-10-31 | 北京华科广通信息技术有限公司 | 信息系统或设备的安全防护系统及其工作方法 |
CN101247216A (zh) * | 2008-03-17 | 2008-08-20 | 北京亿企通信息技术有限公司 | 一种在即时通信工具中从客户端登录Web端的方法 |
CN101552780A (zh) * | 2009-04-30 | 2009-10-07 | 用友软件股份有限公司 | 验证方法和验证装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102739686A (zh) | 2012-10-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102739686B (zh) | 一种限制用户多地点同时登录的方法 | |
JP6215934B2 (ja) | ログイン検証の方法、クライアント、サーバ、およびシステム | |
US9094212B2 (en) | Multi-server authentication token data exchange | |
JP6061122B2 (ja) | 静的パスワードシステムの2ファクタ認証になる変換 | |
US8701199B1 (en) | Establishing a trusted session from a non-web client using adaptive authentication | |
CN102098317B (zh) | 一种应用于云系统的数据传输方法及系统 | |
CN109379336B (zh) | 一种统一认证方法、分布式系统和计算机可读存储介质 | |
CN102144193B (zh) | 在自动化系统中同意对基于计算机的对象的访问权限的方法、设备和自动化系统 | |
US20170279798A1 (en) | Multi-factor authentication system and method | |
US20170279706A1 (en) | Link processing method, apparatus, and system | |
US10439809B2 (en) | Method and apparatus for managing application identifier | |
KR20140035382A (ko) | 사용자 액세스를 허용하는 방법, 클라이언트, 서버 및 시스템 | |
CN105049427A (zh) | 应用系统登录账号的管理方法及装置 | |
CN103812651A (zh) | 密码验证方法、装置及系统 | |
CN104951712A (zh) | 一种Xen虚拟化环境下的数据安全防护方法 | |
CA2940633A1 (en) | Universal authenticator across web and mobile | |
CN102480354A (zh) | 一种统一认证服务系统及统一认证的方法 | |
CN109600337B (zh) | 资源处理方法、装置、系统及计算机可读介质 | |
JP2007079992A (ja) | セッション管理装置、セッション管理方法、セッション管理プログラム | |
CN102882686A (zh) | 一种认证方法及装置 | |
CN103179089A (zh) | 在不同软件开发平台之间访问验证身份的系统及方法 | |
KR20150116537A (ko) | 가상 사설 클라우드 시스템에서의 사용자 인증 방법 및 가상 사설 클라우드 서비스 제공 장치 | |
JP4777758B2 (ja) | 認証システム | |
CN114697113A (zh) | 一种基于硬件加速卡的多方隐私计算方法、装置及系统 | |
KR20230110817A (ko) | 퍼베이시브 리소스 신분 증명 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |