本发明涉及工业控制网络技术领域,尤其是一种基于websocket的账户安全验证方法。
背景技术:
随着信息技术的发展,工业控制系统逐步实现联网化,越来越多的工业控制协议运行于工业以太网上,实现工业网络通讯,同时,针对工业网络的攻击也越来越多和更加普遍,为了解决并发问题带来的安全问题,以及安全问题所以限制登录用户的唯一性是很有必要的。
在工控网络中,记录操作人员的操作日志、提高日志记录的准确型,为了防止账号复用等隐患发生,减少不安全的并发隐患,就需要保证登录用户的唯一性,提高到安全高度。如:防止账号复用,导致管理混乱,造成安全隐患。
目前,针对限制登录的用户的唯一性主要办法是通过拦截器来识别,使用拦截器来解决用户只允许在一处地方登陆其他地方登陆踢掉。
这种方法占用服务器的内存而且,无法及时对已经退出用户进行处理,产生垃圾数据,导致无法登录或重复提示错误信息,而且只能踢出其他用户,不适用于工业控制系统。
技术实现要素:
本发明要解决的技术问题是提供一种基于websocket的账户安全验证方法,能够解决现有技术的不足,可以更加稳定、安全的解决账号登录唯一性的问题。
为解决上述技术问题,本发明所采取的技术方案如下。
一种基于websocket的账户安全验证方法,其特征在于包括以下步骤:
登录流程,
1a、校验用户的用户名和密码正确并登录成功后,浏览器发出websocket连线请求,然后服务器发出回应,在浏览器和服务器之间建立websocket链接;
1b、将用户的登录信息记录到一个队列中;
1c、启动线程后,根据队列中的数据修改用户的当前登录状态;
退出流程,
2a、当用户退出时,断开websocket链接;
2b、将用户的登录断开信息记录到消息队列中;
2c、启动线程后,根据队列中的数据修改用户的当前登录状态。
作为优选,步骤1b中,用户的登录信息包含用户名,密码,登录状态。
作为优选,步骤2a中,用户退出包括正常退出、pc断电、网络中断。
采用上述技术方案所带来的有益效果在于:本发明利用websocket推送机制判断,安全稳定、保证及时性并降低系统性能的影响;使用安全队列,保证数据的准确性;解决了用户登录唯一性后用户退出后,系统无法及时响应的问题。
附图说明
图1是本发明一个具体实施方式的登录流程图。
图2是本发明一个具体实施方式的退出流程图。
具体实施方式
参照图1-2,一种基于websocket的账户安全验证方法,包括以下步骤:
登录流程,
1a、校验用户的用户名和密码正确并登录成功后,浏览器发出websocket连线请求,然后服务器发出回应,在浏览器和服务器之间建立websocket链接;
1b、将用户的登录信息记录到一个队列中;
1c、启动线程后,根据队列中的数据修改用户的当前登录状态;
退出流程,
2a、当用户退出时,断开websocket链接;
2b、将用户的登录断开信息记录到消息队列中;;
2c、启动线程后,根据队列中的数据修改用户的当前登录状态
步骤1b中,用户的登录信息包含用户名,密码,登录状态。
步骤2a中,用户退出包括正常退出、pc断电、网络中断。
登录流程主要通过用户和登录状态来处理用户登录状态的修改,保证线程线程安全并在大并发情况下,对用户信息现行上锁,保证同一用户同一时间多地登录时的数据准确安全。当该用户二次登录时将不允许登录,提示该用户在线。
退出流程可以保证系统及时收到用户退出的消息,系统及时做出响应。账户可以安全退出系统,不会造成账户无法退出,而且线程安全保证。当用户长时间无法错误将自动下线,并执行正常退出时的逻辑。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。