在同一局域网下的多个智能设备用户账号自动登录的方法技术

技术编号:38997354 阅读:9 留言:0更新日期:2023-10-07 10:28
本发明专利技术公开了在同一局域网下的多个智能设备用户账号自动登录的方法,包括服务器、路由器和至少两个智能设备,智能设备上安装有用户账号自动登录应用程序,用于执行:获取自身IP地址、网络接口设备信息、自身MAC地址、路由器所有网络接口的MAC地址;与服务器的即时消息传输平台通信和创建聊天室;向用户系统发起登录请求,接收返回的访问令牌,将获取访问令牌token发送到聊天室中,其他智能设备监听聊天室中的消息,实现同一局域网环境的智能设备自动登录。实现用户在任意一个设备上成功登录了用户账号,通过网络发现的方式,自动将其他设备连接到同一用户账号,无需用户在每个设备上手动输入账号和密码。上手动输入账号和密码。上手动输入账号和密码。

【技术实现步骤摘要】
在同一局域网下的多个智能设备用户账号自动登录的方法


[0001]本专利技术涉及网络通信
,具体的说,是一种在同一局域网下的多个智能设备用户账号自动登录的方法。

技术介绍

[0002]现有技术中,当用户将智能设备连接到局域网时,每个智能设备都需要单独登录并输入相应的登录凭据,这在多设备环境中可能变得繁琐和耗时。现有技术中尚没有一种方法能够解决用户在将智能设备连接到同一局域网后需要在各个设备上手动登录同一用户账号和添加关联设备的问题。

技术实现思路

[0003]本专利技术的目的在于提供一种在同一局域网下的多个智能设备用户账号自动登录的方法,实现用户在任意一个设备上成功登录了用户账号,通过网络发现的方式,自动将其他设备连接到同一用户账号,无需用户在每个设备上手动输入账号和密码。
[0004]本专利技术通过下述技术方案解决上述问题:
[0005]一种在同一局域网下的多个智能设备用户账号自动登录的方法,包括服务器、路由器和至少两个智能设备,所述智能设备、服务器通过路由器连接至网络,所述智能设备上安装有用户账号自动登录应用程序,所述服务器上安装有用户系统,用于用户注册、登录、认证与授权、记录登录状态以及账号与设备通过网络发现自动绑定,服务器上还搭建有即时消息传输平台,用于与用户账号自动登录应用程序进行即时消息传输,所述用户账号自动登录应用程序用于执行:
[0006]步骤A、获取智能设备自身IP地址,获取同一局域网内其他智能设备的网络接口设备信息;
[0007]步骤B、获取智能设备自身MAC地址,通过自身MAC地址建立与路由器的连接,并获取路由器所有网络接口的MAC地址;
[0008]步骤C、与服务器的即时消息传输平台通信,进行用户管理、消息传输和创建聊天室;
[0009]步骤D、检测到用户输入的账号和密码后,向用户系统发起登录请求,用户系统对账号和密码验证通过后,生成访问令牌token,并返回给智能设备存储中程序内存中,以及将生成的访问令牌与用户账号关联存储在服务器;
[0010]步骤E、将获取访问令牌token发送到聊天室中,以便与其他加入该聊天室的智能设备通信以及同步登录状态;
[0011]步骤F、其他智能设备监听聊天室中的消息,实现同一局域网环境的智能设备自动登录。
[0012]所述步骤A具体包括:
[0013]步骤A1、通过调用JDK提供的本地方法InetAddress.getByName()获取当前智能设
备连接的网络IP地址;
[0014]步骤A2、通过调用JDK提供的本地方法NetworkInterface.getByInetAddress(),本地方法NetworkInterface.getByInetAddress()中传入当前智能设备连接的网络IP地址作为参数,并返回与当前智能设备连接的网络IP地址相关联的网络接口对象,得到网络接口设备信息。
[0015]所述步骤B具体包括:
[0016]步骤B1、调用所述网络接口对象,使用getHardwareAddress()方法来获取与该网络接口相关联的当前智能设备的MAC地址;
[0017]步骤B2、将获取到的当前智能设备的MAC地址进一步换为十六进制字符串格式,得到当前智能设备连接的网络接口的唯一标识MAC地址;
[0018]步骤B3、通过调用NetworkInterface.getNetworkInterfaces()方法,获取本地路由器上所有的网络接口列表,并通过遍历网络接口列表,获取每个网络接口的IP地址和子网掩码,计算并获取广播地址,用作路由器的IP地址;
[0019]步骤B4、通过调用NetworkInterface.getByInetAddress()方法,所述路由器的IP地址作为参数,获取与该IP地址相关联的网络接口,再调用NetworkInterface.getHardwareAddress()方法,获取该网络接口的硬件地址,即路由器的MAC地址,将路由器的MAC地址转换为十六进制字符串格式。
[0020]所述步骤C具体包括:
[0021]步骤C1、通过网络连接到服务器的即时消息传输平台,所述即时消息传输平台为Openfire消息平台,使用Openfire消息平台Openfire服务提供的API创建MultiUserChatManager实例与Openfire服务器建立联系;
[0022]步骤C2、使用所述路由器的MAC地址作为聊天室的名称,通过调用manager.getMultiUserChat(“MAC”)方法,创建一个与当前局域网络相关联的MultiUserChat实例,后续加入当前局域网络环境的智能设备通过MAC查询发现当前聊天室已经存在,则不再重复创建;
[0023]步骤C3、利用所述MultiUserChat实例,通过调用muc.join("MAC")方法,传入当前智能设备的MAC地址,将当前智能设备加入到以所述路由器的MAC地址作为名称的聊天室中。
[0024]所述步骤E中将访问令牌token发送到聊天室的方法为:将访问令牌token通过Openfire API提供的muc.sendMessage("token")方法发送到聊天室中。
[0025]所述步骤F中其他智能设备监听聊天室中的消息的方法为:加入聊天室的智能设备基于Openfire API提供的接口方法muc.addMessageListener()监听聊天室中的消息,实现其他智能设备登录状态和访问令牌token的监听。
[0026]所述步骤F中同一局域网环境的智能设备自动登录的方法为:
[0027]步骤一、获取得到访问令牌token,先查询当前智能设备的程序内存中是否已有访问令牌token信息,且是否与聊天室中最新获取的访问令牌token信息一致,若一致表示当前智能设备已经登录,无须重复登录;若不一致或无访问令牌token,则用最新的聊天室中最新获取的访问令牌token信息写入到程序内存中;
[0028]步骤二、在token写入程序内存后,发起一个到服务器端的用户系统的token访问
令牌验证,用户系统查询验证该token是否存在,若存在则返回用户信息,同时修改展现给用户的登录状态;若不存在,则删除原保存在程序内存中的token信息,自动登录失败。
[0029]若是新智能设备首次加入聊天室,通过调用OpenFire服务提供的REST API接口获取当前聊天室的最新消息,获取到token信息,则按照所述步骤一和步骤二完成登录。
[0030]本专利技术与现有技术相比,具有以下优点及有益效果:
[0031](1)本专利技术提供一种自动登录功能,实现用户在任意一个设备上成功登录了用户账号,通过网络发现的方式,自动将其他设备连接到同一用户账号,无需用户在每个设备上手动输入账号和密码。这样,用户可以更轻松地访问其账号下的应用程序和服务,提高了整体的用户体验。
[0032](2本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种在同一局域网下的多个智能设备用户账号自动登录的方法,其特征在于,包括服务器、路由器和至少两个智能设备,所述智能设备、服务器通过路由器连接至网络,所述智能设备上安装有用户账号自动登录应用程序,所述服务器上安装有用户系统,用于用户注册、登录、认证与授权、记录登录状态以及账号与设备通过网络发现自动绑定,服务器上还搭建有即时消息传输平台,用于与用户账号自动登录应用程序进行即时消息传输,所述用户账号自动登录应用程序用于执行:步骤A、获取智能设备自身IP地址,获取同一局域网内其他智能设备的网络接口设备信息;步骤B、获取智能设备自身MAC地址,通过自身MAC地址建立与路由器的连接,并获取路由器所有网络接口的MAC地址;步骤C、与服务器的即时消息传输平台通信,进行用户管理、消息传输和创建聊天室;步骤D、检测到用户输入的账号和密码后,向用户系统发起登录请求,用户系统对账号和密码验证通过后,生成访问令牌token,并返回给智能设备存储中程序内存中,以及将生成的访问令牌与用户账号关联存储在服务器;步骤E、将获取访问令牌token发送到聊天室中,以便与其他加入该聊天室的智能设备通信以及同步登录状态;步骤F、其他智能设备监听聊天室中的消息,实现同一局域网环境的智能设备自动登录。2.根据权利要求1所述的在同一局域网下的多个智能设备用户账号自动登录的方法,其特征在于,所述步骤A具体包括:步骤A1、通过调用JDK提供的本地方法InetAddress.getByName()获取当前智能设备连接的网络IP地址;步骤A2、通过调用JDK提供的本地方法NetworkInterface.getByInetAddress(),本地方法NetworkInterface.getByInetAddress()中传入当前智能设备连接的网络IP地址作为参数,并返回与当前智能设备连接的网络IP地址相关联的网络接口对象,得到网络接口设备信息。3.根据权利要求2所述的在同一局域网下的多个智能设备用户账号自动登录的方法,其特征在于,所述步骤B具体包括:步骤B1、调用所述网络接口对象,使用getHardwareAddress()方法来获取与该网络接口相关联的当前智能设备的MAC地址;步骤B2、将获取到的当前智能设备的MAC地址进一步换为十六进制字符串格式,得到当前智能设备连接的网络接口的唯一标识MAC地址;步骤B3、通过调用NetworkInterface.getNetworkInterfaces()方法,获取本地路由器上所有的网络接口列表,并通过遍历网络接口列表,获取每个网络接口的IP地址和子网掩码,计算并获取广播地址,用作路由器的IP地址;步骤B4、通过调用NetworkInterface.getByInetAddress()方法,所述路由器的IP地址作为参数,获取与该IP地址相关联的网络接口,再调用NetworkInterface.getHardwareAddress()方...

【专利技术属性】
技术研发人员:鲜青林邓文科宋舰李佳航龙万里
申请(专利权)人:四川虹魔方网络科技有限公司
类型:发明
国别省市:

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

1