法律状态公告日
法律状态信息
法律状态
2023-07-21
实质审查的生效 IPC(主分类):H04L 9/40 专利申请号:2023102572841 申请日:20230316
实质审查的生效
2023-07-04
公开
发明专利申请公布
技术领域
本发明涉及互联网领域,具体涉及一种禁止多台设备同时登录同一文档账号的方法。
背景技术
一般web应用处理用户强制下线的方式:首先用户登录后,在服务器端记录session_id存到数据库,界面ajax实时获取,判断是否是登录状态,后者登录时,把之前保存的session_id赋值给自己,由于session是绑定浏览器cookies的,所以只要把session_id绑定到后者登录的服务器,前者自然就没有登录的session,故服务器响应客户端下线。
存在问题:
1.时效性问题。必须是由客户端服务器主动发送请求,服务器端拦截后才能进行下线提示,服务器端不能主动向客户端推送,如果没有请求到服务器端,那么客户端就是一直没有下线提示。
2.性能浪费问题。客户端通过ajax轮询请求能够提高一定的时效性,但是会增加服务器端的性能浪费和网络资源的浪费,并且需要根据业务来调整轮询的频率。。
因此,有必要提供一种新的技术方案。
发明内容
为解决现有技术中存在的技术问题,本发明公开了一种禁止多台设备同时登录同一文档账号的方法,具体技术方案如下所述:
本发明提供一种禁止多台设备同时登录同一文档账号的方法,包括如下步骤:
1)用户在一台设备上登录客户端文档时,服务器端根据用户的信息和密钥生成一个Token,在返回给客户端的同时将Token存储到服务器端的Redis数据库中;
2)登录成功后,客户端会主动向服务器端发送长连接的请求,服务器端确定好用户后,确认连接,客户端就可以和服务器端进行双向通信,文档可以正常使用;
3)当用户在另一个设备登录同一个账号时,服务器端会根据当前用户的信息和密钥生成一个新的Token,然后在Redis数据库中查询当前用户是否有在别的设备上登录客户端,如果在Redis数据库中可以查到Token则表示该账号有在别的设备上登录客户端,就用新的Token替换掉老的Token,在新的设备上登录客户端,并且会通知前一个设备,账号出现异地登录的提示。
进一步的,所述用户的信息包括user_id、user_name和user_account。
进一步的,如果出现异地登录情况,直接通知前一个设备的客户端,弹出被挤下线的提示,并禁用用户的文档操作。
本发明具有以下有益效果:
1、本发明提供的禁止多台设备同时登录同一文档账号的方法,保证用户账号只能同时在一个设备上登录,不会出现一个账号多个设备登录的问题,保证用户数据安全。
2、本发明提供的禁止多台设备同时登录同一文档账号的方法,方法简单实用,维护成本也非常低,同时减少服务器端的性能浪费。
2、本发明提供的禁止多台设备同时登录同一文档账号的方法,只要成功登录之后,客户端和服务器端会使用长连接,实时保证客户端和服务器端的沟通,一旦在别的设备登录,就会即时通知前一个设备下线。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1是本发明实施例提供的一个系统流程图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
在本发明的描述中,需要理解的是,术语“上”、“下”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或者元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
本发明公开了一种禁止多台设备同时登录同一文档账号的方法,参考图1,其包括如下步骤:
1)用户在一台设备上登录客户端文档时,服务器端根据用户的信息和密钥生成一个Token,在返回给客户端的同时将Token存储到服务器端的Redis数据库中;
2)登录成功后,客户端会主动向服务器端发送长连接的请求,服务器端确定好用户后,确认连接,客户端就可以和服务器端进行双向通信,文档可以正常使用;
3)当用户在另一个设备登录同一个账号时,服务器端会根据当前用户的信息和密钥生成一个新的Token,然后在Redis数据库中查询当前用户是否有在别的设备上登录客户端,如果在Redis数据库中可以查到Token则表示该账号有在别的设备上登录客户端,就用新的Token替换掉老的Token,在新的设备上登录客户端,并且会通知前一个设备,账号出现异地登录的提示。
所述用户的信息包括user_id、user_name和user_account。
如果出现异地登录情况,直接通知前一个设备的客户端,弹出被挤下线的提示,并禁用用户的文档操作。
本发明的工作原理是:每次客户端和服务器端有任何交互的时候都要传递这个token参数,当我们在另一台设备登录的时候,会重新生成token,此时服务器端会拿着这个新的token去redis中比对,如果和之前存储的不一样那么就把之前登录的token清除掉,并且主动向客户端推送消息,然后事先客户端和服务器端约定好一个code码,那么我们根据服务器端推送消息里面的code值,在做不同的提示。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。此外,本领域人员可以将本说明书中描述的不同实施例或示例进行接合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改和变型。
机译: 可防止用户拒绝的基于生物信息识别的数字签名方法,一种验证数字签名的电子文档的方法,一种使用同一设备的设备,一种使用同一设备的服务器以及一种计算机可读的记录介质
机译: 在计算设备和登录到同一帐户的移动设备之间同步打印菜单和文档注释渲染的技术
机译: 在同一帐户中登录的计算设备和移动设备之间的打印菜单和文档注释呈现同步的技术