CN116132422A - 输入设备的权限控制方法、装置、服务器及可读存储介质 - Google Patents
输入设备的权限控制方法、装置、服务器及可读存储介质 Download PDFInfo
- Publication number
- CN116132422A CN116132422A CN202310416906.0A CN202310416906A CN116132422A CN 116132422 A CN116132422 A CN 116132422A CN 202310416906 A CN202310416906 A CN 202310416906A CN 116132422 A CN116132422 A CN 116132422A
- Authority
- CN
- China
- Prior art keywords
- authority
- virtual machine
- data structure
- address information
- input device
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L67/025—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/305—Authentication, i.e. establishing the identity or authorisation of security principals by remotely controlling device operation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45587—Isolation or security of virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供了一种输入设备的权限控制方法、装置、服务器及可读存储介质,包括:接收客户端发送的操作帧;其中,操作帧携带有输入设备的地址信息,操作帧是客户端连接的输入设备针对虚拟机画面操作时生成的;根据预设的第一数据结构,确定地址信息对应的操作权限;其中,所述第一数据结构用于表征地址信息与操作权限的映射关系,所述操作权限用于表征所述输入设备是否具备操作所述虚拟机的权限;基于所述操作权限,禁止将所述操作帧发送至虚拟机。本发明可以显著优化输入设备的权限控制,较好地对客户端连接的输入设备的操作权限进行更细化的管理,从而有效改善用户体验。
Description
技术领域
本发明涉及虚拟机技术领域,尤其是涉及一种输入设备的权限控制方法、装置、服务器及可读存储介质。
背景技术
虚拟机是通过软件模拟的运行在一个相对隔离的环境中的完整计算机系统,在物理计算机中能够完成的大部分工作在虚拟机中能够同样完成,通过noVNC软件,用户可以直接通过浏览器浏览装有VNCServer的计算机(或虚拟机)的画面,用户可以在浏览器呈现的画面中通过鼠标和键盘控制远程计算机或虚拟机。在虚拟机的教学场景中,老师对于学生的虚拟机有禁用键鼠的需求,但是现有noVNC软件没有提供针对特定连接禁用键鼠的功能,导致用户体验较差。
发明内容
有鉴于此,本发明的目的在于提供一种输入设备的权限控制方法、装置、服务器及可读存储介质,可以显著优化输入设备的权限控制,较好地对客户端连接的输入设备的操作权限进行更细化的管理,从而有效改善用户体验。
第一方面,本发明实施例提供了一种输入设备的权限控制方法,所述方法应用于服务器,所述服务器安装有改进noVNC程序,所述服务器中的虚拟机与客户端通信连接,通过所述客户端安装的浏览器显示虚拟机画面,所述方法包括:接收所述客户端发送的操作帧;其中,所述操作帧携带有所述输入设备的地址信息,所述操作帧是所述客户端连接的输入设备针对所述虚拟机画面的操作时生成的;通过所述改进noVNC程序,根据预设的第一数据结构,确定所述地址信息对应的操作权限;其中,所述第一数据结构用于表征地址信息与操作权限的映射关系,所述操作权限用于表征所述输入设备是否具备操作所述虚拟机的权限;基于所述操作权限,禁止将所述操作帧发送至虚拟机。
在一种实施方式中,所述改进noVNC程序中的通信单元与云管理平台通信连接,在根据预设的权限数据结构,确定所述地址信息对应的操作权限之前,所述方法还包括:通过所述通信单元接收所述云管理平台发送的权限配置数据,并基于所述权限配置数据更新第二数据结构;其中,所述第二数据结构用于表征用户标识、所述虚拟机标识、所述操作权限之间的映射关系;以及,接收所述客户端针对于所述虚拟机的访问请求,并基于所述访问请求对应的地址信息更新第三数据结构;其中,所述第三数据结构用于表征所述用户标识、所述虚拟机标识和所述地址信息之间的映射关系;根据更新后的所述第二数据结构和更新后的所述第三数据结构,将所述地址信息与所述操作权限之间的映射关系更新至所述第一数据结构。
在一种实施方式中,所述权限数据包括用户标识、虚拟机标识和操作权限,所述操作权限包括每个类型的所述输入设备对应的权限,所述类型包括鼠标类型和键盘类型。
在一种实施方式中,基于所述访问请求对应的地址信息更新第三数据结构,包括:根据所述访问请求携带的统一资源定位符,确定用户标识、虚拟机标识和所述输入设备的地址信息,并将所述用户标识、所述虚拟机标识和所述地址信息之间的映射关系更新至第三数据结构。
在一种实施方式中,通过所述改进noVNC程序,根据预设的第一数据结构,确定所述地址信息对应的操作权限,包括:通过所述改进noVNC程序中的帧过滤单元,基于所述操作帧的标记确定所述输入设备的类型,并以所述地址信息和所述输入设备的类型为检索条件,在预设的第一数据结构中检索操作权限;其中,所述帧过滤模块内存储有所述第一数据结构、所述第二数据结构和所述第三数据结构,所述操作权限包括禁用操作权限,所述第一数据结构仅用于表征地址信息与禁止操作权限的映射关系。
在一种实施方式中,基于所述操作权限,禁止将所述操作帧发送至虚拟机,包括:如果未在所述第一数据结构中检索到操作权限,则允许将所述操作帧发送至所述虚拟机,以使所述虚拟机响应所述操作帧。
在一种实施方式中,基于所述操作权限,禁止将所述操作帧发送至虚拟机,还包括:如果在所述第一数据结构中检索到操作权限,则过滤所述操作帧,以禁止将所述操作帧发送至所述虚拟机。
第二方面,本发明实施例还提供一种输入设备的权限控制装置,所述装置应用于服务器,所述服务器安装有改进noVNC程序,所述服务器中的虚拟机与客户端通信连接,通过所述客户端安装的浏览器显示虚拟机画面,所述装置包括:操作帧接收模块,用于接收所述客户端发送的操作帧;其中,所述操作帧携带有所述输入设备的地址信息,所述操作帧是所述客户端连接的输入设备针对所述虚拟机画面的操作时生成的;帧过滤模块,用于通过所述改进noVNC程序,根据预设的第一数据结构,确定所述地址信息对应的操作权限;其中,所述第一数据结构用于表征地址信息与操作权限的映射关系,所述操作权限用于表征所述输入设备是否具备操作所述虚拟机的权限;操作帧发送模块,用于基于所述操作权限,禁止将所述操作帧发送至虚拟机。
第三方面,本发明实施例还提供一种服务器,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的计算机可执行指令,所述处理器执行所述计算机可执行指令以实现第一方面提供的任一项所述的方法。
第四方面,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现第一方面提供的任一项所述的方法。
本发明实施例提供的一种输入设备的权限控制方法、装置、服务器及可读存储介质,应用于服务器,所述服务器安装有改进noVNC程序,所述服务器中的虚拟机与客户端通信连接,通过客户端安装的浏览器显示虚拟机画面,服务器的改进noVNC程序接收客户端发送的操作帧,所述操作帧携带有所述输入设备的地址信息,所述操作帧是所述客户端连接的输入设备针对所述虚拟机画面的操作时生成由所述浏览器生成的,从而通过所述改进noVNC程序,根据用于表征地址信息与操作权限的映射关系的第一数据结构,确定地址信息对应的操作权限,通过操作权限用于表征输入设备是否具备操作虚拟机的权限,进而基于操作权限,禁止将操作帧发送至虚拟机。上述方法在接收到输入设备对应的操作帧之后,利用第一数据结构基于操作帧携带的地址信息确定操作权限,进而按照操作权限禁止将操作帧发送至虚拟机,本发明实施例可以显著优化输入设备的权限控制,较好地对客户端连接的输入设备的操作权限进行更细化的管理,从而有效改善用户体验。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种输入设备的权限控制方法的流程示意图;
图2为本发明实施例提供的一种输入设备的权限控制方法的架构图;
图3为本发明实施例提供的一种输入设备的权限控制装置的结构示意图;
图4为本发明实施例提供的一种客户端的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合实施例对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前,VNC(Virtual Network Console,虚拟网络控制台)是远程控制软件,VNC软件通常分为:VNC Server 和 VNC Client。VNC Server 装在远程计算机中,VNC Client用于访问VNC Server,VNC Client中会呈现装有VNC Server的计算机(或虚拟机)的画面,用户可以在VNC Client呈现的画面中通过鼠标和键盘控制远程计算机或虚拟机。
VNC Clinet分为两种,一种是客户端软件,需要在电脑里安装。另一种是利用浏览器。前者是在客户端软件的界面里呈现出装有VNC Server的计算机(或虚拟机)的画面,后者是在浏览器的页面里呈现出装有VNC Server的计算机(或虚拟机)的画面。用户可以在呈现的画面中通过鼠标和键盘控制远程计算机或虚拟机。这两种VNC Client的通讯方式也不同:前者是将RFB协议帧(VNC通讯使用的协议,Remote Frame Buffer 远程帧缓冲)放到TCP或UDP里传输,实现与VNC Server通讯;后者是在浏览器呈现的虚拟机画面中,通过js程序捕捉用户操作并生成RFB协议帧,然后放到websocket里传输,实现与VNC Sever通讯。
目前,在使用VNC通过浏览器访问虚拟机的方式中,现有技术都无法满足以下场景:当多用户同时访问同一台虚拟机的时候,针对不同用户采用不同的键鼠禁用策略。例如:在老师和学生们通过浏览器同时观看同一台虚拟机画面的场景下,需要允许老师的键鼠操作虚拟机,同时禁止学生的键鼠操作虚拟机;再例如:在老师远程协助学生的虚拟机的场景下,同样需要允许老师的键鼠操作虚拟机,同时禁止学生的键鼠操作虚拟机。
虽然相关技术提供了其他键鼠的禁用手段,但是其无法应用于虚拟机的教学场景中。具体的,方式一:在浏览器端通过JS实现键鼠控制,由于可以人为修改JS,因此该方式安全性较差;方式二,在虚拟机端控制键鼠权限,无法做到在多个用户同时访问一台虚拟机时,对每个用户做不同的键鼠控制策略,例如:如果需要实现A用户和B用户同时访问一台虚拟机,将无法实现A用户禁用鼠标和键盘,且B用户允许使用鼠标和键盘,只能实现A用户和B用户都禁用鼠标和键盘,或者A用户和B用户都允许鼠标和键盘。本文提供了一种方式,在浏览器和虚拟机之间,添加一层代理,通过代理控制RFB协议的操作帧,从而实现在浏览器中通过RFB协议访问虚拟机时的键鼠禁用功能。本发明实施例使用开源软件noVNC作为代理。原生开源软件noVNC的功能只是将websocket中承载的RFB(Remote Frame Buffer 远程帧缓冲)协议帧取出来转发给VNC Server,并不支持针对特定连接禁用鼠标和/或键盘的功能。因此在原生noVNC基础上进行改进。
基于此,本发明实施提供了一种输入设备的权限控制方法、装置、服务器及可读存储介质,可以显著优化输入设备的权限控制,较好地对客户端连接的输入设备的操作权限进行更细化的管理,从而有效改善用户体验。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种输入设备的权限控制方法进行详细介绍,该方法应用于服务器,服务器安装有改进noVNC程序,服务器中的虚拟机与客户端通信连接,通过客户端安装的浏览器显示虚拟机画面,参见图1所示的一种输入设备的权限控制方法的流程示意图,该方法主要包括以下步骤S102至步骤S106:
步骤S102,接收客户端发送的操作帧;其中,操作帧携带有输入设备的地址信息,操作帧是客户端连接的输入设备针对虚拟机画面的操作时生成,具体可以是由浏览器里网页中的JS程序生成的,也即在输入设备针对虚拟机画面进行操作时,JS程序将生成相应的操作帧。其中,输入设备可以包括鼠标和键盘,地址信息可以包括源IP(InternetProtocol,网际互联协议)和源端口,操作帧可以为RFB操作帧,RFB操作帧记录有输入设备的类型,也即RFB操作帧标记有该操作属于鼠标操作或键盘操作。在一种实施方式中,当用户在浏览器显示的虚拟机画面点击鼠标或键盘时,浏览器将生成RFB操作帧,服务器即可接收到客户端发送的RFB操作帧。
步骤S104,通过改进noVNC程序,根据预设的第一数据结构,确定地址信息对应的操作权限。其中,第一数据结构用于表征地址信息与操作权限的映射关系,操作权限用于表征输入设备是否具备操作虚拟机的权限,操作权限可以包括每种类型的输入设备对应的权限,诸如包括鼠标权限和键盘权限。
在一种实施方式中,第一数据结构是基于第二数据结构和第三数据结构配置得到的,第二数据结构用于表征用户标识、虚拟机标识、操作权限之间的映射关系,第三数据结构用于表征用户标识、虚拟机标识和地址信息之间的映射关系,根据上述第二数据结构和第三数据结构可以确定出地址信息、操作权限之间的映射关系,示例性的,第一数据结构记录的映射关系包括:地址信息对应的客户端对虚拟机A具备鼠标权限,且不具备键盘权限。
进一步的,RFB操作帧携带有地址信息,且RFB操作帧标记有输入设备的类型,因此可以将地址信息和输入设备的类型作为检索条件,在第一数据结构中检索相应的操作权限。
步骤S106,基于操作权限,禁止将操作帧发送至虚拟机。示例性的,如果在第一数据结构中检索到操作帧,假设RFB操作帧标记该操作为键盘操作,也即不具备键盘权限,此时将过滤该操作帧,使操作帧无法发送至虚拟机,进而虚拟机将无法响应该操作帧对应的操作,实现禁用键盘的目的;如果在第一数据结构中未检索到操作帧,假设RFB操作帧标记该操作为鼠标操作,也即具备鼠标权限,此时直接将RFB操作帧发送至虚拟机,虚拟机将响应RFB操作帧。
在一种实施方式中,第一数据结构可以维护多个地址信息对多个虚拟机的操作权限,示例性的,教师所使用的客户端对应的地址信息对虚拟机A具备键鼠操作权限,至少一个学生所使用的客户端对应的地址信息对虚拟机A不具备键鼠操作权限,从而在教学场景下可以较好地实现键鼠权限控制。
本发明实施例提供的输入设备的权限控制方法,在接收到输入设备对应的操作帧之后,利用第一数据结构基于操作帧携带的地址信息确定操作权限,进而按照操作权限禁止将操作帧发送至虚拟机,本发明实施例可以显著优化输入设备的权限控制,较好地对客户端连接的输入设备的操作权限进行更细化的管理,从而有效改善用户体验。
为便于理解,本发明实施例提供了如图2所示的一种输入设备的权限控制方法的架构图,服务器安装有改进noVNC程序,改进noVNC程序新增通信模单元和帧过滤单元,改进noVNC程序中的通信单元与云管理平台通信连接,帧过滤单元用于过滤指定用户的鼠标操作帧和键盘操作帧,从而实现鼠标和键盘的控制。帧过滤单元中有三个Map类型的数据结构,第二数据结构Map2用于维护用户对某台虚拟机访问时禁用键盘和/或鼠标,第三数据结构Map3用于维护用户对某台虚拟机访问时的源IP和源端口,第一数据结构用于对指定IP和端口的RFB协议操作帧过滤。
另外,图2还示意出改进noVNC程序还与qemu虚拟机通信连接,客户端的浏览器用于显示qemu虚拟机的画面。
在前述实施例的基础上,本发明实施例提供了一种配置第一数据结构的实施方式,参见如下步骤1至步骤3:
步骤1,通过通信单元接收云管理平台发送的权限配置数据,并基于权限配置数据更新第二数据结构;其中,权限数据包括用户标识、虚拟机标识和操作权限,操作权限包括每个类型的输入设备对应的权限,类型包括鼠标类型和键盘类型,第二数据结构用于表征用户标识、虚拟机标识、操作权限之间的映射关系。
在实际应用中,用户(诸如,教师)通过浏览器在云管理平台上设置用户X(诸如,学生)通过VNC访问虚拟机A时是否禁用鼠标和键盘,云管理平台会将用户X的用户ID(也即,用户标识)、虚拟机A的虚拟机ID(也即,虚拟机标识)、是否禁用鼠标、是否禁用键盘存储至数据库,并通知改进noVNC程序。
改进noVNC程序的通信单元在接收到通知消息后,将通知消息转发给改进noVNC程序的帧过滤单元,帧过滤单元会更新存放用户X对虚拟机A访问时禁用鼠标和键盘的信息,即更新Map2,Map2将存储用户ID、虚拟机ID、是否禁用鼠标、是否禁用键盘之间的映射关系。
步骤2,接收客户端针对于虚拟机的访问请求,并基于访问请求对应的地址信息更新第三数据结构;其中,第三数据结构用于表征用户标识、虚拟机标识和地址信息之间的映射关系。
在一种具体的实施方式中,在接收到客户端针对于虚拟机的访问请求之后,可以根据所述访问请求携带的统一资源定位符(URL,Uniform Resource Locator),确定用户标识、虚拟机标识和输入设备的地址信息,再将用户标识、虚拟机标识和地址信息之间的映射关系更新至第三数据结构。
在实际应用中,当用户A在浏览器中通过VNC访问虚拟机A时,浏览器的URL中会带有用户A的用户ID和虚拟机A的虚拟机ID,改进noVNC程序获取到这个用户ID和虚拟机ID,然后更新用户A对虚拟机A访问时的源IP和源端口,即更新Map3,Map3将存储用户ID、虚拟机ID、源IP和源端口之间的映射关系。
步骤3,根据更新后的第二数据结构和更新后的第三数据结构,将地址信息与操作权限之间的映射关系更新至第一数据结构。在一种实施方式中,可以基于Map2和Map3,更新用户A对虚拟机A访问时的RFB操作帧是否过滤鼠标操作帧或键盘操作帧,即更新Map1。在实际应用中,可以根据同一用户ID和同一虚拟机ID,在Map2和Map3中分别查找到操作权限和地址信息,从而将虚拟机ID、操作权限和地址信息之间的映射关系存储至Map1中。
在第一数据结构Map1配置完成之后,如果接收到针对于虚拟机画面的RFB操作帧,将根据预设的第一数据结构确定RFB操作帧携带的地址信息对应的操作权限。在一种具体的实施方式中,可以通过改进noVNC程序中的帧过滤单元,基于操作帧的标记确定输入设备的类型,并以地址信息和输入设备的类型为检索条件,在预设的第一数据结构中检索操作权限。其中,帧过滤模块内存储有第一数据结构、第二数据结构和第三数据结构,操作权限包括禁用操作权限,第一数据结构仅用于表征地址信息与禁止操作权限的映射关系。
在实际应用中,用户A在浏览器界的VNC画面里点击鼠标或键盘时,浏览器会生成RFB操作帧,RFB操作帧会标记该操作为鼠标操作或键盘操作,然后会将RFB操作帧放在Websocket里传输给改进noVNC程序时,改进noVNC程序将RFB操作帧从websocket取出来,交给帧过滤单元,帧过滤单元根据当前RFB操作帧的源IP和源端口确定操作权限。
基于此,在执行基于操作权限,禁止将操作帧发送至虚拟机的步骤时,如果未在第一数据结构中检索到操作权限,则允许将操作帧发送至虚拟机,以使虚拟机响应操作帧;如果在第一数据结构中检索到操作权限,则过滤操作帧,以禁止将操作帧发送至虚拟机。在实际应用中,第一数据结构里的“目前操作权限”,只有禁用权限(禁用键盘或(和)禁用鼠标),没有允许权限(允许键盘或(和)允许鼠标),也就是说只有鼠标的禁用和键盘的禁用,因此如果检索到操作权限,即可说明该操作帧被禁用,若未检索到操作权限,即可说明该操作帧可被放行。
示例性的,帧过滤单元根据当前RFB操作帧的源IP和源端口,在Map1里查看是否存在该源IP和源端口,如果没有,则说明不用过滤,并放行该RFB操作帧;如果有,进一步在Map1中查看是禁用鼠标、键盘或是两者都禁用,假设是禁用鼠标,并且当前RFB操作帧是鼠标操作帧,则直接过滤掉,否则就放行。
综上所述,本发明实施例提供的输入设备的权限控制方法,可以显著优化输入设备的权限控制,较好地对客户端连接的输入设备的操作权限进行更细化的管理,从而有效改善用户体验。
对于前述实施例提供的输入设备的权限控制方法,本发明实施例提供了一种输入设备的权限控制装置,装置应用于服务器,服务器安装有改进noVNC程序,服务器中的虚拟机与客户端通信连接,通过客户端安装的浏览器显示虚拟机画面,参见图3所示的一种输入设备的权限控制装置的结构示意图,该装置主要包括以下部分:
操作帧接收模块302,用于接收客户端发送的操作帧;其中,操作帧携带有输入设备的地址信息,操作帧是客户端连接的输入设备针对虚拟机画面的操作时生成的;
帧过滤模块304,用于通过改进noVNC程序,根据预设的第一数据结构,确定地址信息对应的操作权限;其中,第一数据结构用于表征地址信息与操作权限的映射关系,操作权限用于表征输入设备是否具备操作虚拟机的权限;
操作帧发送模块306,用于基于操作权限,禁止将操作帧发送至虚拟机。
本发明实施例提供的输入设备的权限控制装置,在接收到输入设备对应的操作帧之后,利用第一数据结构基于操作帧携带的地址信息确定操作权限,进而按照操作权限禁止将操作帧发送至虚拟机,本发明实施例可以显著优化输入设备的权限控制,较好地对客户端连接的输入设备的操作权限进行更细化的管理,从而有效改善用户体验。
在一种实施方式中,改进noVNC程序中的通信单元与云管理平台通信连接,上述装置还包括数据结构配置模块,用于:通过通信单元接收云管理平台发送的权限配置数据,并基于权限配置数据更新第二数据结构;其中,第二数据结构用于表征用户标识、虚拟机标识、操作权限之间的映射关系;以及,接收客户端针对于虚拟机的访问请求,并基于访问请求对应的地址信息更新第三数据结构;其中,第三数据结构用于表征用户标识、虚拟机标识和地址信息之间的映射关系;根据更新后的第二数据结构和更新后的第三数据结构,将地址信息与操作权限之间的映射关系更新至第一数据结构。
在一种实施方式中,权限数据包括用户标识、虚拟机标识和操作权限,操作权限包括每个类型的输入设备对应的权限,类型包括鼠标类型和键盘类型。
在一种实施方式中,数据结构配置模块还用于:根据访问请求携带的统一资源定位符,确定用户标识、虚拟机标识和输入设备的地址信息,并将用户标识、虚拟机标识和地址信息之间的映射关系更新至第三数据结构。
在一种实施方式中,帧过滤模块304:通过改进noVNC程序中的帧过滤单元,基于操作帧的标记确定输入设备的类型,并以地址信息和输入设备的类型为检索条件,在预设的第一数据结构中检索操作权限;其中,帧过滤模块内存储有第一数据结构、第二数据结构和第三数据结构,操作权限包括禁用操作权限,第一数据结构仅用于表征地址信息与禁止操作权限的映射关系。
在一种实施方式中,操作帧发送模块306还用于:如果未在第一数据结构中检索到操作权限,则允许将操作帧发送至虚拟机,以使虚拟机响应操作帧。
在一种实施方式中,操作帧发送模块306还用于:如果在第一数据结构中检索到操作权限,则过滤操作帧,以禁止将操作帧发送至虚拟机。
本发明实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
本发明实施例提供了一种服务器,具体的,该服务器包括处理器和存储装置;存储装置上存储有计算机程序,计算机程序在被所述处理器运行时执行如上所述实施方式的任一项所述的方法 。
图4为本发明实施例提供的一种服务器的结构示意图,该服务器100包括:处理器40,存储器41,总线42和通信接口43,所述处理器40、通信接口43和存储器41通过总线42连接;处理器40用于执行存储器41中存储的可执行模块,例如计算机程序。
其中,存储器41可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。通过至少一个通信接口43(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
总线42可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
其中,存储器41用于存储程序,所述处理器40在接收到执行指令后,执行所述程序,前述本发明实施例任一实施例揭示的流过程定义的装置所执行的方法可以应用于处理器40中,或者由处理器40实现。
处理器40可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器40中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器40可以是通用处理器,包括中央处理器(CentralProcessingUnit,简称CPU)、网络处理器(NetworkProcessor,简称NP)等;还可以是数字信号处理器(Digital SignalProcessing,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器41,处理器40读取存储器41中的信息,结合其硬件完成上述方法的步骤。
本发明实施例所提供的可读存储介质的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见前述方法实施例,在此不再赘述。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种输入设备的权限控制方法,其特征在于,所述方法应用于服务器,所述服务器安装有改进noVNC程序,所述服务器中的虚拟机与客户端通信连接,通过所述客户端安装的浏览器显示虚拟机画面,所述方法包括:
接收所述客户端发送的操作帧;其中,所述操作帧携带有所述输入设备的地址信息,所述操作帧是所述客户端连接的输入设备针对所述虚拟机画面的操作时生成的;
通过所述改进noVNC程序,根据预设的第一数据结构,确定所述地址信息对应的操作权限;其中,所述第一数据结构用于表征地址信息与操作权限的映射关系,所述操作权限用于表征所述输入设备是否具备操作所述虚拟机的权限;
基于所述操作权限,禁止将所述操作帧发送至虚拟机。
2.根据权利要求1所述的输入设备的权限控制方法,其特征在于,所述改进noVNC程序中的通信单元与云管理平台通信连接,在根据预设的权限数据结构,确定所述地址信息对应的操作权限之前,所述方法还包括:
通过所述通信单元接收所述云管理平台发送的权限配置数据,并基于所述权限配置数据更新第二数据结构;其中,所述第二数据结构用于表征用户标识、虚拟机标识、操作权限之间的映射关系;
以及,接收所述客户端针对于所述虚拟机的访问请求,并基于所述访问请求对应的地址信息更新第三数据结构;其中,所述第三数据结构用于表征所述用户标识、所述虚拟机标识和所述地址信息之间的映射关系;
根据更新后的所述第二数据结构和更新后的所述第三数据结构,将所述地址信息与所述操作权限之间的映射关系更新至所述第一数据结构。
3.根据权利要求2所述的输入设备的权限控制方法,其特征在于,所述权限数据包括用户标识、虚拟机标识和操作权限,所述操作权限包括每个类型的所述输入设备对应的权限,所述类型包括鼠标类型和键盘类型。
4.根据权利要求2所述的输入设备的权限控制方法,其特征在于,基于所述访问请求对应的地址信息更新第三数据结构,包括:
根据所述访问请求携带的统一资源定位符,确定用户标识、虚拟机标识和所述输入设备的地址信息,并将所述用户标识、所述虚拟机标识和所述地址信息之间的映射关系更新至第三数据结构。
5.根据权利要求2所述的输入设备的权限控制方法,其特征在于,通过所述改进noVNC程序,根据预设的第一数据结构,确定所述地址信息对应的操作权限,包括:
通过所述改进noVNC程序中的帧过滤单元,基于所述操作帧的标记确定所述输入设备的类型,并以所述地址信息和所述输入设备的类型为检索条件,在预设的第一数据结构中检索操作权限;
其中,所述帧过滤单元内存储有所述第一数据结构、所述第二数据结构和所述第三数据结构,所述操作权限包括禁用操作权限,所述第一数据结构仅用于表征地址信息与禁止操作权限的映射关系。
6.根据权利要求5所述的输入设备的权限控制方法,其特征在于,基于所述操作权限,禁止将所述操作帧发送至虚拟机,包括:
如果未在所述第一数据结构中检索到操作权限,则允许将所述操作帧发送至所述虚拟机,以使所述虚拟机响应所述操作帧。
7.根据权利要求5所述的输入设备的权限控制方法,其特征在于,基于所述操作权限,禁止将所述操作帧发送至虚拟机,还包括:
如果在所述第一数据结构中检索到操作权限,则过滤所述操作帧,以禁止将所述操作帧发送至所述虚拟机。
8.一种输入设备的权限控制装置,其特征在于,所述装置应用于服务器,所述服务器安装有改进noVNC程序,所述服务器中的虚拟机与客户端通信连接,通过所述客户端安装的浏览器显示虚拟机画面,所述装置包括:
操作帧接收模块,用于接收所述客户端发送的操作帧;其中,所述操作帧携带有所述输入设备的地址信息,所述操作帧是所述客户端连接的输入设备针对所述虚拟机画面的操作时生成的;
帧过滤模块,用于通过所述改进noVNC程序,根据预设的第一数据结构,确定所述地址信息对应的操作权限;其中,所述第一数据结构用于表征地址信息与操作权限的映射关系,所述操作权限用于表征所述输入设备是否具备操作所述虚拟机的权限;
操作帧发送模块,用于基于所述操作权限,禁止将所述操作帧发送至虚拟机。
9.一种服务器,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的计算机可执行指令,所述处理器执行所述计算机可执行指令以实现权利要求1至7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现权利要求1至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310416906.0A CN116132422B (zh) | 2023-04-19 | 2023-04-19 | 输入设备的权限控制方法、装置、服务器及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310416906.0A CN116132422B (zh) | 2023-04-19 | 2023-04-19 | 输入设备的权限控制方法、装置、服务器及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116132422A true CN116132422A (zh) | 2023-05-16 |
CN116132422B CN116132422B (zh) | 2023-06-27 |
Family
ID=86303168
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310416906.0A Active CN116132422B (zh) | 2023-04-19 | 2023-04-19 | 输入设备的权限控制方法、装置、服务器及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116132422B (zh) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004070757A (ja) * | 2002-08-07 | 2004-03-04 | Nec Corp | 参照権限管理システム、方法、及びシステムのプログラム |
WO2010021631A1 (en) * | 2008-08-22 | 2010-02-25 | Hewlett-Packard Development Company, L.P. | Remote graphics console and virtual media access to virtual machine guests |
CN101968746A (zh) * | 2010-09-02 | 2011-02-09 | 北京航空航天大学 | 一种内核虚拟机组织架构模式的实现方法 |
CN105159798A (zh) * | 2015-08-28 | 2015-12-16 | 浪潮集团有限公司 | 一种虚拟机的双机热备方法、双机热备管理服务器和系统 |
US20160269235A1 (en) * | 2015-03-09 | 2016-09-15 | ZPE Systems, Inc. | High serial port count infrastructure management device |
US20180124051A1 (en) * | 2016-07-14 | 2018-05-03 | Huawei Technologies Co., Ltd. | Response Method and System in Virtual Network Computing Authentication, and Proxy Server |
CN109088875A (zh) * | 2018-08-24 | 2018-12-25 | 郑州云海信息技术有限公司 | 一种访问权限校验方法及装置 |
CN109766165A (zh) * | 2018-11-22 | 2019-05-17 | 海光信息技术有限公司 | 一种内存访问控制方法、装置、内存控制器及计算机系统 |
WO2019200701A1 (zh) * | 2018-04-17 | 2019-10-24 | 平安科技(深圳)有限公司 | 一种配置管理方法、装置、终端设备及存储介质 |
WO2021013273A1 (zh) * | 2019-07-19 | 2021-01-28 | 南京芯驰半导体科技有限公司 | 访问物理地址空间的方法及系统,电子设备及芯片 |
CN114020400A (zh) * | 2021-10-12 | 2022-02-08 | 广州明珞装备股份有限公司 | 一种基于noVNC的远程虚拟仿真方法、系统、设备及介质 |
CN114491643A (zh) * | 2022-02-14 | 2022-05-13 | Tcl通讯科技(成都)有限公司 | 访问控制方法、装置、存储介质及服务器 |
CN115189941A (zh) * | 2022-07-07 | 2022-10-14 | 成都域卫科技有限公司 | 一种主机与虚拟机的隔离方法、装置及存储介质 |
-
2023
- 2023-04-19 CN CN202310416906.0A patent/CN116132422B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004070757A (ja) * | 2002-08-07 | 2004-03-04 | Nec Corp | 参照権限管理システム、方法、及びシステムのプログラム |
WO2010021631A1 (en) * | 2008-08-22 | 2010-02-25 | Hewlett-Packard Development Company, L.P. | Remote graphics console and virtual media access to virtual machine guests |
CN101968746A (zh) * | 2010-09-02 | 2011-02-09 | 北京航空航天大学 | 一种内核虚拟机组织架构模式的实现方法 |
US20160269235A1 (en) * | 2015-03-09 | 2016-09-15 | ZPE Systems, Inc. | High serial port count infrastructure management device |
CN105159798A (zh) * | 2015-08-28 | 2015-12-16 | 浪潮集团有限公司 | 一种虚拟机的双机热备方法、双机热备管理服务器和系统 |
US20180124051A1 (en) * | 2016-07-14 | 2018-05-03 | Huawei Technologies Co., Ltd. | Response Method and System in Virtual Network Computing Authentication, and Proxy Server |
WO2019200701A1 (zh) * | 2018-04-17 | 2019-10-24 | 平安科技(深圳)有限公司 | 一种配置管理方法、装置、终端设备及存储介质 |
CN109088875A (zh) * | 2018-08-24 | 2018-12-25 | 郑州云海信息技术有限公司 | 一种访问权限校验方法及装置 |
CN109766165A (zh) * | 2018-11-22 | 2019-05-17 | 海光信息技术有限公司 | 一种内存访问控制方法、装置、内存控制器及计算机系统 |
WO2021013273A1 (zh) * | 2019-07-19 | 2021-01-28 | 南京芯驰半导体科技有限公司 | 访问物理地址空间的方法及系统,电子设备及芯片 |
CN114020400A (zh) * | 2021-10-12 | 2022-02-08 | 广州明珞装备股份有限公司 | 一种基于noVNC的远程虚拟仿真方法、系统、设备及介质 |
CN114491643A (zh) * | 2022-02-14 | 2022-05-13 | Tcl通讯科技(成都)有限公司 | 访问控制方法、装置、存储介质及服务器 |
CN115189941A (zh) * | 2022-07-07 | 2022-10-14 | 成都域卫科技有限公司 | 一种主机与虚拟机的隔离方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116132422B (zh) | 2023-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10909212B2 (en) | Obfuscating network page structure | |
CA2930805C (en) | Intercepting and supervising calls to transformed operations and objects | |
US11552936B2 (en) | Management of dynamic credentials | |
US9495469B2 (en) | System and method to identify machine-readable codes | |
US9069949B2 (en) | Non-transitory computer readable storage medium, access filtering device, and access filtering method | |
US11516279B2 (en) | Systems and methods for accessing multiple resources via one identifier | |
CN111585956A (zh) | 一种网址防刷验证方法与装置 | |
CN107077576A (zh) | 网络上的操作限制实施 | |
CN111753268B (zh) | 一种单点登录方法、装置、存储介质及移动终端 | |
CN116132422B (zh) | 输入设备的权限控制方法、装置、服务器及可读存储介质 | |
CN116070049B (zh) | 一种回溯页面数据的方法、装置、设备和可读存储介质 | |
CN103023704A (zh) | 虚拟网络服务设备接入方法及系统 | |
CN111488546A (zh) | 一种页面生成方法、装置及存储介质 | |
CN104468495B (zh) | 一种电子资源借阅控制的方法和系统 | |
US12026272B2 (en) | Loading and managing third-party tools on a website | |
CN117828672B (zh) | 细粒度动态授权的访问控制与高并发处理方法及装置 | |
CN115052045A (zh) | 后台管理系统的访问方法、装置及电子设备 | |
CN111913774A (zh) | 悬浮窗管理方法及装置 | |
CN110866164A (zh) | 数据获取方法及计算机存储介质 | |
IE20190191A1 (en) | Digital user consent preferences and control | |
JP2019121104A (ja) | 表示プログラム、表示方法および情報処理装置 | |
JP2016173627A (ja) | ローカルストレージ管理方法、ローカルストレージ管理装置およびローカルストレージ管理プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |