在线客服:
yabo2020 yabo2020
全国服务热线:010-62773376
您的位置:首页 > 新闻中心 >

Web应用程序实时权限的控制方法,电子设备,存储介质和过程

浏览 121次 来源:【jake推荐】 作者:-=Jake=-    时间:2021-03-31 02:10:46
[摘要] 本申请涉及互联网技术领域,特别是涉及一种web应用实时权限的控制方法、电子装置和存储介质。本实施例还提供了一种web应用实时权限控制的一种存储介质,其特征在于,存储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行以上步骤中任一项的一种web应用实时权限控制方法。

web应用实时权限的控制方法、电子装置和存储介质与流程

本申请涉及互联网技术领域,尤其涉及一种Web应用的实时权限控制方法,电子设备和存储介质。

背景技术:

对Web视图的现有权限控制。在服务器生成非单页应用程序的网页系统中,每个网页都是由服务器生成的,并且服务器可以呈现当前用户的当前视图。在单页应用程序中,服务器接口仅负责页面加载后的数据传输,而不能控制视图的权限。

这种单页应用程序权限控制方法的现有技术是,它不控制视图,而是直接受到服务器接口的限制。仅在客户端页面启动HTTP请求之后,才能确定其是否具有特定功能的许可。这样,系统将无法首次拦截用户权限,这会增加服务器消耗。另一种是当浏览器首次请求服务器时,它返回用户的权限列表,然后根据该权限渲染当前用户的视图。这样,当登录用户的权限发生变化时,无法实时更新网页,只能通过服务器界面进行更新。控件被拦截,只有在用户再次登录后,网页才会重新呈现。

因此,目前,在控制相关技术中的单页应用程序权限时,还没有有效的解决方案来解决服务器使用率高和无法实时更新网页权限的问题。

技术实现要素:

在本申请实施例中,提供了一种用于控制Web应用程序实时权限的方法,电子设备和存储介质,以至少解决控制时不能实时更新网页权限的问题。 Web应用程序在相关技术中的权限。

在第一方面,本发明实施例提供了一种控制Web应用程序实时权限的方法,包括:客户端在加载Web应用程序后注册独立进程,并与Web应用程序建立双向通信。服务器通过独立的过程。通讯采用websocket协议;当Web应用程序与服务器之间建立HTTP连接时,客户端会从独立进程接收许可更新消息,其中许可更新消息是服务器更新了当前登录用户的许可信息的情况。 Web应用程序客户端收到权限更新消息后,向服务器重新请求Web应用程序当前登录用户的权限信息。

在一个实施例中,在客户端从独立进程接收许可更新消息之前,该方法还包括:客户端向服务器发送登录消息,并接收服务器返回的许可令牌,其中消息中携带有登录Web应用的用户的用户信息,该用户信息包括唯一的用户标识信息;客户端生成带有许可令牌的http请求,并将该http请求发送到服务器以在Web应用程序和服务器之间建立HTTP连接。

在一个实施例中,在Web应用与服务器之间建立http连接后,该方法还包括:客户端向服务器发送许可请求消息,并接收当前登录的许可信息。服务器返回的Web应用的用户,权限请求消息中携带该Web应用当前登录用户的用户信息,包括权限列表或权限列表的哈希值;客户端使用Web应用程序当前登录用户的权限信息注册页面路由并通过http接收页面数据进行连接,根据页面数据和页面路由呈现网页,并显示该网页。

在实施例之一中,用户信息及其对应的权限信息被预先存储在服务器中;客户端向服务器发送权限请求消息后,该方法还包括:服务器根据登录消息中携带的用户信息,查询该用户信息对应的权限信息;服务器将与用户信息相对应的权限信息返回给客户端。

在一个实施例中,通过独立过程在客户端与服务器之间建立双向通信包括:用户成功登录Web应用后,客户端通过独立过程向独立过程发送连接消息。指示独立进程与服务器建立连接的后消息。双向通信。

在第二方面,本申请的实施例提供一种电子设备,包括存储器,处理器以及存储在该存储器中并在该处理器上运行的计算机程序。当处理器执行计算机程序时,Web应用程序的实时权限控制方法的第一方面。

在第三方面中,本申请的实施例提供一种存储介质,其上存储有计算机程序,并且当由处理器执行该程序时web 权限控制,用于控制Web应用程序的实时许可的方法如实现了上述第一方面。

与相关技术相比,本发明实施例提供的控制Web应用实时权限的方法,电子设备和存储介质,可以实现单页面Web应用权限的实时更新,而用户无需再次登录,从而减少了对服务器和网络的需求。资源消耗加快了应用程序的运行速度。同时,它还可以实现消息推送,Web应用程序资源本地化,并改善用户体验。

图纸说明

此处描述的附图用于提供对本申请的进一步理解,并构成本申请的一部分。本申请的示例性实施例和描述用于解释本申请,并不构成对本申请的不当限制。在所附图片中:

图。图1是根据本发明实施例的控制Web应用的实时权限的方法的终端硬件结构框图。

图。图2是根据本发明实施例的控制Web应用的实时权限的方法的流程图。

图。图3是根据本申请的优选实施例的用于控制Web应用的实时许可的方法的流程图。

图。图4是根据本发明实施例的控制Web应用的实时权限的方法的示意图。

具体的实现方法

为了使本申请的目的,技术方案和优点更加清楚,下面参照附图和实施例对本申请进行描述和说明。应当理解,此处描述的具体实施例仅用于解释本申请,并不用于限制本申请。基于本申请提供的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。另外,还可以理解,尽管在该开发过程中做出的努力可能是复杂而漫长的,但是对于与本申请中公开的内容有关的本领域普通技术人员而言,本申请中公开的技术是一些设计,制造的。或根据内容进行的生产更改只是常规技术手段,不应理解为本申请中披露的内容不足。

在本申请中对“实施例”的引用意味着结合实施例描述的特定特征,结构或特性可以被包括在本申请的至少一个实施例中。在说明书中各处出现的短语不一定指相同的实施例,也不是与其他实施例互斥的独立或替代的实施例。本领域普通技术人员可以清楚,隐含地理解,本申请中描述的实施例可以与其他实施例结合使用,没有冲突。

除非另有定义,否则本申请中涉及的技术术语或科学术语应具有本申请所属技术领域的普通技术人员所理解的通常含义。在本申请中提到的“一个”,“一个”,“一个”,“该”和其他类似词语不表示数量限制,并且可以表示单数或复数。术语“包括”,“包括”,“具有”及其在本申请中的任何变化旨在涵盖非排他性包含;例如,包括一系列步骤或模块(单元)的过程,方法,系统,产品或产品。设备不限于列出的步骤或单元,而是可以进一步包括未列出的步骤或单元,或者可以进一步包括这些过程,方法,产品或设备固有的其他步骤或单元。在本申请中提及的类似词语,例如“连接”,“连接”,“耦合”等不限于物理或机械连接,而是可以包括直接或间接的电连接。在本申请中提到的“多个”是指大于或等于二。 “和/或”描述了关联对象的关联关系,指示可能存在三种类型的关系。例如,“ a和/或b”可以表示存在三种情况:一个单独,同时处于a和b以及单独一个b。本申请中涉及的“第一”,“第二”,“第三”等术语仅区分相似的对象,并不表示对象的特定顺序。

可以在终端,计算机或类似的计算设备中执行本实施例提供的方法实施例。以在终端上运行为例。图1是根据本发明实施例的用于Web应用的实时权限控制的方法的终端硬件结构框图。如图1所示。如图1所示,终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于诸如微处理器MCU或可编程逻辑设备fpga之类的处理设备)和存储器104用于存储数据。可选地,上述终端还可以包括用于通信功能的传输设备106和输入/输出设备108。本领域普通技术人员可以理解,图1所示的结构是可以理解的。图1仅用于说明,并不限制前述终端的结构。例如,该终端还可以包括比图1所示更多或更少的组件。 1或具有与图1所示的配置不同的配置。 1。

存储器104可以用于存储计算机程序,例如,软件程序和应用软件的模块,诸如与本发明实施例中的用于控制Web应用程序的实时许可的方法相对应的计算机程序。 。通过运行计算机程序来执行各种功能应用程序和数据处理,即,实现上述方法,从而将处理器102存储在存储器104中。存储器104可以包括高速随机存取存储器,并且还可以包括非易失性存储器,诸如一个或多个磁性存储设备,闪存或其他非易失性固态存储器。在一些示例中,存储器104可以进一步包括相对于处理器102远程提供的存储器,并且这些远程存储器可以通过网络连接到终端。前述网络的示例包括但不限于因特网,公司内部网,局域网,移动通信网络及其组合。

传输设备106用于经由网络接收或发送数据。网络的上述具体示例可以包括由终端的通信提供商提供的无线网络。在一个示例中,传输设备106包括网络适配器(网络接口控制器,称为nic),其可以通过基站连接到其他网络设备,以便与互联网通信。在一个示例中,传输设备106可以是射频(RF)模块,用于以无线方式与互联网通信。

该实施例提供了一种用于控制Web应用程序的实时权限的方法。可以在客户端中执行用于控制Web应用程序的实时权限的方法。其中,客户端包括但不限于:可以实现http协议的移动终端,个人计算机或其他具有通信功能并可以与基于http协议的网站服务器进行通信的电子设备。

图2是根据本申请的实施例的用于控制网络应用的实时许可的方法的流程图。如图2所示,该过程包括以下步骤:

在步骤s201中,客户端在加载Web应用程序后注册一个独立进程,并通过该独立进程与服务器建立双向通信。

此实施例中的Web应用程序包括单页Web应用程序。在该实施例中,客户端在加载单页应用程序之后将独立过程注册在javascript模块中。其中,javascript是具有功能优先的轻量级,解释性或即时编译高级编程应用程序。 JavaScript是用于开发网页的脚本语言,但与此同时,它也在许多非浏览器环境中使用。 JavaScript基于原型编程(一种多范式动态脚本语言),并且支持面向对象,命令式和声明式(例如函数)。编程)样式。由于独立进程的加载是完全异步的,因此在javascript模块中注册独立进程时不会占用进程资源。注册完成后,单页应用程序将在后台监视服务器的消息推送和来自独立进程的消息,以便实时接收服务器的信息。

在步骤s202中,当在Web应用程序和服务器之间建立HTTP连接时yabo手机版 ,客户端从独立进程接收许可更新消息。

在本实施例中,客户端根据服务器的ip地址和端口号向指定的服务器发送登录消息。其中,当更新Web应用当前登录用户的权限信息时,服务器生成权限更新消息。同时,客户端在发送登录消息后收到服务器返回的授权令牌。授权令牌是服务器生成的字符串,作为客户端请求的令牌。首次登录后,服务器会将令牌字符串分发给客户端。对于后续请求,客户端只需要携带令牌,服务器就会知道这是用户的访问权限。

步骤s203,客户端接收到权限更新消息后,向服务器重新请求Web应用当前登录用户的权限信息。

在本实施例中,客户端注册的独立进程可以实时监控来自服务器的权限更新消息推送。在Web应用程序和服务器之间建立http连接的同时,它还监视来自独立进程的推送消息。通过上述连接关系,服务器,客户端和Web应用程序相互连接,实现了包括但不限于权限更新消息的相互推送,减少了权限更新的时延和资源消耗。

在这些实施例中的一些中,客户端通过独立的过程与服务器建立双向通信,包括在用户成功登录到Web应用程序之后,客户端通过后消息向独立的过程发送连接消息以指示与服务器通信建立双向通信的独立过程。

在某些实施例中,登录消息中包含登录Web应用程序的用户的用户信息,其中,该用户的用户信息包括该用户的用户名uuid。

在某些实施例中,独立过程可以是服务人员。其中,serviceworker可以拦截当前网站的所有请求并做出判断(您需要编写相应的判断程序),如果需要向服务器发起请求,则可以将其转发到服务器,如果可以缓存直接使用时,缓存将直接返回并且不再转发到服务器。从而大大改善了浏览体验。应当注意,本实施例中使用的服务工作者是异步且独立的处理技术。本申请的实施例不限于服务工作者,也可以使用其他类似的异步和独立处理技术。

在这些实施例中的一些中,客户端通过后消息将消息发送给服务工作者过程。其中,postmessage是Windowsapi(应用程序接口)中的一个函数,用于将消息放入消息队列中。消息队列中的消息是通过调用getmessage和peekmessage获得的。 postmessage方法允许来自不同来源的脚本以异步方式彼此通信,并且可以实现跨文本文件,多窗口和跨域消息传递。

在这些实施例的一些中,在客户端和服务器之间建立的双向通信使用websocket协议。其中,websocket是用于单个tcp连接上的全双工通信的协议,具有控制开销较小,实时性能更强以及压缩效果更好的特点。 Websocket协议是全双工的,因此服务器可以随时主动将数据发送到客户端。与在服务器可以响应之前需要等待客户端发起请求的HTTP请求相比,延迟要小得多。即使与像彗星这样的长时间轮询相比,它也可以在短时间内多次传输数据。其中,长轮询是指Web客户端与服务器之间基于Ajax(http)的常见通信方法。在长轮询机制中,客户端像传统轮询一样从服务器请求数据。如果服务器没有可以立即返回给客户端的数据,它将不会立即返回空结果。

与其他通信协议相比,websocket全双工通信协议可以控制较少的开销。建立连接后,在服务器和客户端之间交换数据时,用于协议控制的数据包头相对较小。如果不进行扩展,则对于从服务器到客户端的内容,标头大小仅为2到10个字节(与数据包的长度有关);对于从客户端到服务器的内容,此标头需要添加附加的4字节掩码。

在这些实施例中的一些中,客户端通过后消息向独立进程发送连接消息,以指示独立进程与服务器建立双向通信。

在本实施例中,用户登录客户端后,客户端和服务器通过上述步骤建立双向通信连接,可以实现实时的双向数据传输和实时授权通信。 ,并且在需要更新用户权限时无需更新用户权限。要请求权限接口,只需通过已建立的双向通信同步发送权限更新通知。同时,当管理员修改服务器上的某个用户权限时,服务器会生成所有权限的新哈希值,新用户权限,并根据修改后的权限内容和更新时间来更新缓存。更改用户权限后亚博lol ,无需再次登录。可以重新渲染页面,从而改善用户体验。

图。图3是根据本申请的优选实施例的用于控制网络应用的实时许可的方法的流程图。如图1所示。 3,该过程包括以下步骤:

在步骤s301中,客户端在加载Web应用程序后注册一个独立进程,并通过该独立进程与服务器建立双向通信。

在步骤s302中,如果在Web应用程序和服务器之间建立了HTTP连接,则客户端从独立进程接收许可更新消息。

在步骤s303中,客户端接收到权限更新消息后,向服务器重新请求Web应用程序当前登录用户的权限信息。

步骤s304,客户端向服务器发送登录消息,并接收服务器返回的权限令牌,该登录消息中携带有登录Web应用程序的用户的用户信息。

在步骤s305中,客户端生成带有许可令牌的http请求,并将该http请求发送到服务器以在Web应用程序和服务器之间建立http连接。

在一个实施例中,在Web应用程序与服务器之间建立http连接之后,客户端向服务器发送许可请求消息,并接收Web应用程序当前登录用户的许可信息。由服务器返回。许可请求消息中包含Web应用程序当前登录用户的用户信息。

在实施例之一中,用户信息及其对应的权限信息被预先存储在服务器中;客户端向服务器发送权限请求消息后,服务器根据登录消息中携带的用户信息查询用户信息,对应的权限信息,然后服务器将与该用户信息对应的权限信息返回给客户端。

在一个实施例中,客户端接收服务器返回的Web应用程序的当前登录用户的权限信息后,客户端根据当前登录用户的权限信息注册页面路由,并通过http连接数据接收页面,并根据页面数据和页面路由呈现网页,并显示该网页。

完成上述步骤后,将在客户端和服务器之间建立双向通信。服务器可以主动通知客户端更新视图权限。单页应用程序用户的权限更改后,可以实时通知客户端视图更新,无需注销和重新登录,也不需要用户主动触发请求,服务器通知客户端通过报告错误来更新权限。

在本实施例中,通过服务器与客户端之间建立的双向通信,管理员一旦修改了用户,便可以基于修改后的权限内容和更新时间,为所有权限生成新的哈希值。权限。 ,新用户权限并更新缓存。同时,将用户修改后的权限信息发送给客户端,以便在修改用户权限后可以实时更新权限信息,用户无需再次登录即可获取修改后的新权限。 ,从而提高了权限更新信息通信的效率。

在此实施例中,管理员可以修改服务器上客户端的任何用户的所有权限,并立即通知服务人员流程。 Serviceworker进程接收到该通知,并将其发送到已修改其权限的客户端,然后单页应用程序将更新当前用户对该客户端的权限。

在一些实施例中,用户信息包括用户唯一标识信息;权限信息包括权限列表或权限列表的哈希值。其中,哈希值使用某种哈希算法(通常是md5,sha-1等)将较长的数据映射到较短的数据,而这块小数据就是大数据的哈希值。哈希值具有唯一性的特征,即某个大数据唯一地对应于一个小数据。一旦大数据改变,即使是很小的改变,哈希值也将改变。

在实施例之一中,当Web应用程序的当前登录用户的权限信息改变时,服务器在预先存储的权限中更新与Web应用程序的当前登录用户相对应的权限信息。信息,并更新权限将邮件发送到一个独立的进程。

通过上述步骤,在修改用户权限时yb体育 ,通过在上一步中建立的服务器与客户端之间的双向通信,可以实时更新权限。同时,无需用户再次登录即可重新渲染页面,从而减少了服务器资源和网络资源的丢失,并加快了权限更新的速度。

图4是根据本申请的实施例的用于控制网络应用的实时许可的方法的示意图。如图4所示,它包括:首先由客户端加载单页Web应用程序,并在加载完成后通过serviceworker注册与serviceworker独立的进程,在独立进程与服务器之间建立双向通信。当管理员更改用户权限时,服务器会主动将更新提醒推送到服务人员独立的流程。服务人员流程收到服务器通知后,会通知应用程序更新权限,单页应用程序在收到服务人员流程通知后向服务器请求更新权限。

在优选实施例之一中,在单页Web应用程序和服务器之间建立HTTP连接。 HTTP需要基于连接的建立执行数据传输。当用户在浏览器中输入URL时,浏览器将浏览器的dns缓存,本地dns缓存和主机查找对应的记录,如果未获取,则将请求dns服务获取对应的ip。获得ip后,tcp连接将执行三向握手以建立连接。通过在单页应用程序和服务器之间建立http连接,单页应用程序可以从服务器请求权限接口。其中AG体育 ,http协议是无状态的,即web 权限控制,http协议没有用于事务处理的内存容量。换句话说,如果客户端打开服务器的网页,然后在服务上打开网页,则之前和之后的两个请求都不会连接并且是独立的。因此,仅单页Web应用程序和服务器之间的http连接不能实现应用程序权限的实时更新,并且如上所述,有必要在客户端和服务器之间建立双向通信。

在优选实施例之一中,当管理员更改用户权限时,服务器将主动将更新提醒推送到服务人员的独立过程。在服务器与客户端之间建立双向通信后,管理员将在修改用户权限后实时以权限更新消息的形式将修改后的用户权限信息推送到服务人员独立的进程。 Serviceworker的独立进程接收服务器发送的权限更新消息并将其转发给客户端,从而将用户权限更新消息从服务器实时传输到客户端,以确保可以推送权限更新消息管理员第一次在服务器上修改用户权限时,请减少客户端的权限更新延迟。

通过上述步骤,可以在用户客户端和服务器之间建立双向通信通道,从而使管理员可以实时更改应用程序权限并实时更新单页Web应用程序权限,而无需重新进行操作。登录,减少服务器和网络资源的消耗。使应用程序运行更快。同时,它还可以实现消息推送,本地化Web应用程序资源并改善用户体验。

本实施例还提供一种用于Web应用的实时权限控制的电子设备,包括存储器和处理器,其特征在于,计算机程序存储在存储器中,处理器设置为运行计算机程序。任何Web应用程序的实时权限控制方法。

Optionally, the above electronic device may further include a transmission device and an input/output device, wherein the transmission device is connected to the above processor, and the input/output device is connected to the above processor.

Optionally, in this embodiment, the above-mentioned processor may be configured to execute the following steps through a computer program:

s1, the client registers an independent process after loading the web application, and establishes two-way communication with the server through the independent process.

s2, when an http connection is established between the web application and the server, the client receives permission update messages from an independent process.

s3, after receiving the permission update message, the client requests the server again for the permission information of the currently logged-in user of the web application.

Among them, in the above steps, the two-way communication connection can also be completed in a single-page web application, and it is not necessary to use independent process technologies such as serviceworker. The two-way communication technology is not limited to full-duplex communication technologies such as the websocket protocol, and can be other technologies, such as polling, long polling, flashsocket, and iframe-based persistent connections. Cross-domain communication technology is not limited to postmessage, but can also be other cross-domain or non-cross-domain technologies, such as: jsonp cross-domain, iframe+domain cross-domain, nginx reverse proxy cross-domain, cors cross-domain.

Compared with the known technology, this application uses an asynchronous process and a server to establish two-way communication to exchange information on the client side. The single-page web application uses cross-domain communication technology (postmessage, etc.) to receive messages from other processes. The work done by the single-page web application according to the received information includes but is not limited to view permissions. Through the above steps, the server and the client realize real-time permission updates based on two-way communication. The permissions are updated in a timely manner. The server almost synchronizes the permissions with the client. And do not need to log in again.

It should be noted that, for specific examples in this embodiment, reference may be made to the examples described in the above-mentioned embodiments and alternative implementations, and this embodiment will not be repeated here.

This embodiment also provides a storage medium for real-time permission control of web applications, which is characterized in that a computer program is stored in the storage medium, wherein the computer program is set to execute any of the above steps when running A real-time permission control method for web applications.

In summary, through the above-mentioned embodiments or preferred implementations provided by this application, there are the following beneficial effects:

1、 In the embodiment of this application, real-time permissions are updated based on two-way traffic, and the permissions are updated in a timely manner. The server updates the permissions almost synchronously with the client, and there is no need to log in again.

2、 In the embodiment of this application, the single-page web application permissions are updated in real time without re-logging in, which reduces server and network resource consumption and speeds up application operation.

3、 In the embodiments of this application, it is also possible to implement message push, web application resource localization, and improve user experience.

4、 In the embodiment of this application, the defects of the related technology are filled, and the server consumption can be reduced when the permission of a single page application is controlled, and the real-time update of the permission of the web page can be realized.

A person skilled in the art should understand that the technical features of the above embodiments can be combined arbitrarily. To make the description concise, all possible combinations of the technical features in the above embodiments are not described. However, as long as There is no contradiction in the combination of these technical features, and should be regarded as the scope of this specification.

The above example only expresses an implementation of the present application, and its description is more specific and detailed, but it should not be understood as a limitation on the scope of the invention patent. It should be noted that for those of ordinary skill in the art, without departing from the concept of this application, several modifications and improvements can be made, and these all fall within the protection scope of this application. Therefore, the scope of protection of the patent in this application shall be subject to the appended claims.

老王
本文标签:存储服务器,单页面应用,web技术

推荐阅读

最新评论