一种禁止多台设备同时登录同一文档账号的方法技术

技术编号:38145188 阅读:18 留言:0更新日期:2023-07-08 10:02
本发明专利技术提供一种禁止多台设备同时登录同一文档账号的方法,首先在服务器端创建一个token的值,这个值是和user_id和user_name、secret绑定在一起的,token这个值就是客户端调用服务器端的凭证,当进入web端系统时,会先登录获取token,当换了设备登录同一个账号时对应的token也会重新生成,那么原设备的token相对来说就失效了。本发明专利技术具有方法简单实用、维护成本低、实时下线提醒、减少服务器性能浪费等优点。费等优点。费等优点。

【技术实现步骤摘要】
一种禁止多台设备同时登录同一文档账号的方法


[0001]本专利技术涉及互联网领域,具体涉及一种禁止多台设备同时登录同一文档账号的方法。

技术介绍

[0002]一般web应用处理用户强制下线的方式:首先用户登录后,在服务器端记录session_id存到数据库,界面ajax实时获取,判断是否是登录状态,后者登录时,把之前保存的session_id赋值给自己,由于session是绑定浏览器cookies的,所以只要把session_id绑定到后者登录的服务器,前者自然就没有登录的session,故服务器响应客户端下线。
[0003]存在问题:
[0004]1.时效性问题。必须是由客户端服务器主动发送请求,服务器端拦截后才能进行下线提示,服务器端不能主动向客户端推送,如果没有请求到服务器端,那么客户端就是一直没有下线提示。
[0005]2.性能浪费问题。客户端通过ajax轮询请求能够提高一定的时效性,但是会增加服务器端的性能浪费和网络资源的浪费,并且需要根据业务来调整轮询的频率。。
[0006]因此,有必要提供一种新的技术方案。

技术实现思路

[0007]为解决现有技术中存在的技术问题,本专利技术公开了一种禁止多台设备同时登录同一文档账号的方法,具体技术方案如下所述:
[0008]本专利技术提供一种禁止多台设备同时登录同一文档账号的方法,包括如下步骤:
[0009]1)用户在一台设备上登录客户端文档时,服务器端根据用户的信息和密钥生成一个Token,在返回给客户端的同时将Token存储到服务器端的Redis数据库中;
[0010]2)登录成功后,客户端会主动向服务器端发送长连接的请求,服务器端确定好用户后,确认连接,客户端就可以和服务器端进行双向通信,文档可以正常使用;
[0011]3)当用户在另一个设备登录同一个账号时,服务器端会根据当前用户的信息和密钥生成一个新的Token,然后在Redis数据库中查询当前用户是否有在别的设备上登录客户端,如果在Redis数据库中可以查到Token则表示该账号有在别的设备上登录客户端,就用新的Token替换掉老的Token,在新的设备上登录客户端,并且会通知前一个设备,账号出现异地登录的提示。
[0012]进一步的,所述用户的信息包括user_id、user_name和user_account。
[0013]进一步的,如果出现异地登录情况,直接通知前一个设备的客户端,弹出被挤下线的提示,并禁用用户的文档操作。
[0014]本专利技术具有以下有益效果:
[0015]1、本专利技术提供的禁止多台设备同时登录同一文档账号的方法,保证用户账号只能同时在一个设备上登录,不会出现一个账号多个设备登录的问题,保证用户数据安全。
[0016]2、本专利技术提供的禁止多台设备同时登录同一文档账号的方法,方法简单实用,维护成本也非常低,同时减少服务器端的性能浪费。
[0017]2、本专利技术提供的禁止多台设备同时登录同一文档账号的方法,只要成功登录之后,客户端和服务器端会使用长连接,实时保证客户端和服务器端的沟通,一旦在别的设备登录,就会即时通知前一个设备下线。
[0018]本专利技术的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本专利技术的实践了解到。
附图说明
[0019]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
[0020]图1是本专利技术实施例提供的一个系统流程图。
具体实施方式
[0021]下面详细描述本专利技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本专利技术,而不能理解为对本专利技术的限制。
[0022]在本专利技术的描述中,需要理解的是,术语“上”、“下”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本专利技术和简化描述,而不是指示或暗示所指的装置或者元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本专利技术的限制。在本专利技术的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
[0023]在本专利技术中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本专利技术中的具体含义。
[0024]本专利技术公开了一种禁止多台设备同时登录同一文档账号的方法,参考图1,其包括如下步骤:
[0025]1)用户在一台设备上登录客户端文档时,服务器端根据用户的信息和密钥生成一个Token,在返回给客户端的同时将Token存储到服务器端的Redis数据库中;
[0026]2)登录成功后,客户端会主动向服务器端发送长连接的请求,服务器端确定好用户后,确认连接,客户端就可以和服务器端进行双向通信,文档可以正常使用;
[0027]3)当用户在另一个设备登录同一个账号时,服务器端会根据当前用户的信息和密钥生成一个新的Token,然后在Redis数据库中查询当前用户是否有在别的设备上登录客户端,如果在Redis数据库中可以查到Token则表示该账号有在别的设备上登录客户端,就用新的Token替换掉老的Token,在新的设备上登录客户端,并且会通知前一个设备,账号出现
异地登录的提示。
[0028]所述用户的信息包括user_id、user_name和user_account。
[0029]如果出现异地登录情况,直接通知前一个设备的客户端,弹出被挤下线的提示,并禁用用户的文档操作。
[0030]本专利技术的工作原理是:每次客户端和服务器端有任何交互的时候都要传递这个token参数,当我们在另一台设备登录的时候,会重新生成token,此时服务器端会拿着这个新的token去redis中比对,如果和之前存储的不一样那么就把之前登录的token清除掉,并且主动向客户端推送消息,然后事先客户端和服务器端约定好一个code码,那么我们根据服务器端推送消息里面的code值,在做不同的提示。
[0031]在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本专利技术的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必针对的是相同的实施例或示例。本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种禁止多台设备同时登录同一文档账号的方法,其特征在于,包括如下步骤:1)用户在一台设备上登录客户端文档时,服务器端根据用户的信息和密钥生成一个Token,在返回给客户端的同时将Token存储到服务器端的Redis数据库中;2)登录成功后,客户端会主动向服务器端发送长连接的请求,服务器端确定好用户后,确认连接,客户端就可以和服务器端进行双向通信,文档可以正常使用;3)当用户在另一个设备登录同一个账号时,服务器端会根据当前用户的信息和密钥生成一个新的Token,然后在Redis数据库中查询当前用户是否有在别的设备上登录客户...

【专利技术属性】
技术研发人员:张英剑陈国华吕永胜陈静李星郑兴华
申请(专利权)人:永中软件股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1