CN112165449B - web应用实时权限的控制方法、电子装置和存储介质 - Google Patents

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

Info

Publication number
CN112165449B
CN112165449B CN202010851119.5A CN202010851119A CN112165449B CN 112165449 B CN112165449 B CN 112165449B CN 202010851119 A CN202010851119 A CN 202010851119A CN 112165449 B CN112165449 B CN 112165449B
Authority
CN
China
Prior art keywords
server
authority
web application
client
user
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.)
Active
Application number
CN202010851119.5A
Other languages
English (en)
Other versions
CN112165449A (zh
Inventor
胡晶
范渊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
DBAPPSecurity Co Ltd
Original Assignee
DBAPPSecurity Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by DBAPPSecurity Co Ltd filed Critical DBAPPSecurity Co Ltd
Priority to CN202010851119.5A priority Critical patent/CN112165449B/zh
Publication of CN112165449A publication Critical patent/CN112165449A/zh
Application granted granted Critical
Publication of CN112165449B publication Critical patent/CN112165449B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • H04L69/162Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms

Abstract

本申请涉及了一种web应用实时权限的控制方法、电子装置和存储介质。其中,该方法包括:客户端在加载web应用后注册独立进程,并通过独立进程建立与服务器的双向通信,其中,双向通信采用websocket协议;在web应用与服务器之间建立HTTP连接的情况下,客户端从独立进程接收权限更新消息,其中,权限更新消息是服务器在web应用的当前登录用户的权限信息发生更新的情况下生成的;客户端在接收到权限更新消息后,向服务器重新请求web应用的当前登录用户的权限信息。通过本申请,解决了相关技术中控制web应用权限时无法实时更新网页权限的问题,实现了网页权限的实时控制的有益效果。

Description

web应用实时权限的控制方法、电子装置和存储介质
技术领域
本申请涉及互联网技术领域,特别是涉及一种web应用实时权限的控制方法、电子装置和存储介质。
背景技术
现有对网页视图的权限控制,在由服务器生成非单页应用的网页系统中,每个网页都由服务器生成,服务器在生成的时候可根据当前用户的权限实时渲染出当前用户的视图。而在单页应用中,页面加载之后服务器接口只负责数据的传输,无法控制视图的权限。
现有对于这种单页应用的权限控制方法的技术,一种是不控制视图,直接由服务器接口限制,在由客户端页面发起HTTP请求后才能确定是否具有某个功能的权限,这种方法系统无法第一时间拦截用户权限,增加了服务器消耗。另一种是在浏览器首次请求服务器时,返回用户的权限列表,然后根据权限渲染出当前用户的视图,这种方法当登录用户的权限发生改变时,网页无法实时更新,只能由服务器接口控制进行拦截,只有在用户重新登录后,网页才会重新渲染。
因此目前针对相关技术中控制单页应用权限时服务器消耗大和无法实时更新网页权限的问题,尚未提出有效的解决方案。
发明内容
在本申请实施例中提供了一种web应用实时权限的控制方法、电子装置和存储介质,以至少解决相关技术中控制web应用权限时无法实时更新网页权限的问题。
第一方面,本申请实施例提供了一种web应用实时权限的控制方法,包括:客户端在加载web应用后注册独立进程,并通过独立进程建立与服务器的双向通信,其中,双向通信采用websocket协议;在web应用与服务器之间建立HTTP 连接的情况下,客户端从独立进程接收权限更新消息,其中,权限更新消息是服务器在web应用的当前登录用户的权限信息发生更新的情况下生成的;客户端在接收到权限更新消息后,向服务器重新请求web应用的当前登录用户的权限信息。
在其中一个实施例中,在客户端从独立进程接收权限更新消息之前,方法还包括:客户端发送登录消息给服务器,并接收服务器返回的权限令牌,其中,登录消息中携带有登录web应用的用户的用户信息,其中用户信息包括用户唯一标识信息;客户端生成携带有权限令牌的HTTP请求,并将HTTP请求发送给服务器,建立web应用与服务器之间的HTTP连接。
在其中一个实施例中,在建立web应用与服务器之间的HTTP连接之后,方法还包括:客户端发送权限请求消息给服务器,并接收服务器返回的web应用的当前登录用户的权限信息,其中,权限请求消息中携带有web应用的当前登录用户的用户信息,包括权限列表或者权限列表的哈希值;客户端根据web 应用的当前登录用户的权限信息,注册页面路由,通过HTTP连接接收页面数据,并根据页面数据和页面路由渲染web页面,并展示web页面。
在其中一个实施例中,在服务器中预先存储有用户信息及其对应的权限信息;在客户端发送权限请求消息给服务器之后,方法还包括:服务器根据登录消息中携带的用户信息,查询与该用户信息对应的权限信息;服务器将与该用户信息对应的权限信息返回给客户端。
在其中一个实施例中,客户端通过独立进程建立与服务器的双向通信包括:在用户成功登录到web应用之后,客户端通过postMessage向独立进程发送连接消息,以指示独立进程与服务器建立双向通信。
第二方面,本申请实施例提供了一种电子装置,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现如上述第一方面的web应用实时权限的控制方法。
第三方面,本申请实施例提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面的web应用实时权限的控制方法。
相比于相关技术,本申请实施例提供的web应用实时权限的控制方法、电子装置和存储介质,实现了单页web应用权限实时更新而用户不需重新登录,减轻了服务器和网络资源损耗,加快了应用的运行速度,同时还可以实现消息推送,web应用资源本地化,提升了用户体验。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的web应用实时权限的控制方法的终端硬件结构框图。
图2是根据本申请实施例的web应用实时权限的控制方法的流程图。
图3是根据本申请优选实施例的web应用实时权限的控制方法的流程图。
图4是根据本申请实施例的web应用实时权限的控制方法的示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指大于或者等于两个。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
本实施例提供的方法实施例可以在终端、计算机或者类似的运算装置中执行。以运行在终端上为例,图1是本发明实施例的web应用实时权限控制方法的终端硬件结构框图。如图1所示,终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,可选地,上述终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述终端的结构造成限定。例如,终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的web应用实时权限的控制方法对应的计算机程序,处理器 102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括终端的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
本实施例提供了一种web应用实时权限的控制方法。该web应用实时权限的控制方法可以在客户端中执行。其中,客户端包括但不限于:能够实现HTTP 协议的移动终端、个人计算机或者其他的具有通信功能、能够基于HTTP协议与网站服务器通讯的电子装置。
图2是根据本申请实施例的web应用实时权限的控制方法的流程图,如图2 所示,该流程包括如下步骤:
步骤S201,客户端在加载web应用后注册独立进程,并通过独立进程建立与服务器的双向通信。
本实施例的web应用包括单页面web应用。在本实施例中,客户端加载完成单页应用之后在JavaScript模块中注册独立进程。其中,JavaScript是一种具有函数优先的轻量级,解释型或即时编译型的高级编程应用。JavaScript是一种开发Web页面的脚本语言,但是同时它也被用到了很多非浏览器环境中, JavaScript基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式和声明式(如函数式编程)风格。因为独立进程的载入是完全异步的,所以在 JavaScript模块中注册独立进程的时候不用存在占用进程资源的问题。注册完成后,单页应用为了能够实时接收到服务器的信息将会在后台监听服务器的消息推送和来自独立进程的消息。
步骤S202,在web应用与服务器之间建立HTTP连接的情况下,客户端从独立进程接收权限更新消息。
在本实施例中,客户端根据服务器的IP地址和端口号向指定的服务器发送登录消息。其中,权限更新消息是服务器在web应用的当前登录用户的权限信息发生更新的情况下生成的。同时,客户端在发送登录消息后接受服务器返回的权限令牌,权限令牌(Token)是服务器生成的一串字符,作为客户端请求的令牌。当第一次登录后,服务器会分发Token字符串给客户端。后续的请求,客户端只需带上Token,服务器即可知道是该用户的访问。
步骤S203,客户端在接收到权限更新消息后,向服务器重新请求web应用的当前登录用户的权限信息。
在本实施例中,客户端注册的独立进程能够实时监听来自服务器的权限更新消息推送。web应用与服务器之间建立了HTTP连接的同时,与监听来自独立进程的推送消息。通过上述连接关系,使得服务器、客户端和web应用三者之间相互连接,实现包括但不限于权限更新消息的相互推送,减少了权限更新的延迟和资源消耗。
在其中一些实施例中,客户端通过独立进程建立与服务器的双向通信包括在用户成功登录到web应用之后,客户端通过postMessage向独立进程发送连接消息,以指示独立进程与服务器建立双向通信。
在其中一些实施例中,登录消息中携带登录web应用的用户的用户信息,其中,用户的用户信息包括用户的用户名uuid。
在其中一些实施例中,独立进程可以为service worker。其中,service worker可以拦截当前网站所有的请求,进行判断(需要编写相应的判断程序),如果需要向服务器发起请求的就转给服务器,如果可以直接使用缓存的就直接返回缓存不再转给服务器,从而大大提高浏览体验。需要说明的是,在本实施例中采用的service worker是一种异步、独立进程的技术,本申请实施例并不限于service worker,还可以采用其他类似的异步、独立进程技术。
在其中一些实施例中,客户端通过postmessage向service worker进程发送消息。其中,postmessage是Windows API(应用程序接口)中的一个函数,用于将一条消息放入到消息队列中。消息队列里的消息通过调用GetMessage和 PeekMessage取得。postMessage方法允许来自不同源的脚本采用异步方式进行有限的通信,可以实现跨文本档、多窗口、跨域消息传递。
在其中一些实施例中,客户端与服务器之间建立的双向通信采用websocket 协议。其中,websocket是一种在单个TCP连接上进行全双工通信的协议,具有控制开销较小、实时性更强和压缩效果更好等特点。websocket协议是全双工的,所以服务器可以随时主动给客户端下发数据。相对于HTTP请求需要等待客户端发起请求服务器才能响应,延迟明显更少,即使是和Comet等类似的长轮询比较,其也能在短时间内更多次地传递数据,其中,长轮询是指Web客户端与服务器之间基于Ajax(http)的常用通信方式。在长轮询机制中,客户端像传统轮询一样从服务器请求数据。如果服务器没有可以立即返回给客户端的数据,则不会立刻返回一个空结果。
相比于其他通信协议,websocket全双工通信协议能够控制较少的开销。在连接创建后,服务器和客户端之间交换数据时,用于协议控制的数据包头部相对较小。在不包含扩展的情况下,对于服务器到客户端的内容,此头部大小只有2 至10字节(和数据包长度有关);对于客户端到服务器的内容,此头部还需要加上额外的4字节的掩码。
在其中一些实施例中,客户端通过postMessage向独立进程发送连接消息,以指示独立进程与服务器建立双向通信。
在本实施例中,当用户在客户端登录后,客户端与服务器即通过先前步骤建立双向通信连接,能够实时实现双向数据传输和权限实时通信,在用户权限需要更新时不需要重新请求权限接口,只需通过已经建立的双向通信同步发送权限更新通知。同时,当管理员在服务器上修改某一用户权限时,服务器根据修改后的权限内容以及更新时间生成新的所有权限的hash值、新的用户权限并更新缓存当用户权限更改后不需要重新登录即可重新渲染页面,提升了用户的体验。
图3是根据本申请优选实施例的web应用实时权限的控制方法的流程图,如图3所示,该流程包括如下步骤:
步骤S301,客户端在加载web应用后注册独立进程,并通过独立进程建立与服务器的双向通信。
步骤S302,在web应用与服务器之间建立HTTP连接的情况下,客户端从独立进程接收权限更新消息。
步骤S303,客户端在接收到权限更新消息后,向服务器重新请求web应用的当前登录用户的权限信息。
步骤S304,客户端发送登录消息给服务器,并接收服务器返回的权限令牌,其中,登录消息中携带有登录web应用的用户的用户信息。
步骤S305,客户端生成携带有权限令牌的HTTP请求,并将HTTP请求发送给服务器,建立web应用与服务器之间的HTTP连接。
在其中一个实施例中,在建立web应用与服务器之间的HTTP连接之后,客户端发送权限请求消息给服务器,并接收服务器返回的web应用的当前登录用户的权限信息,其中,权限请求消息中携带有web应用的当前登录用户的用户信息。
在其中一个实施例中,服务器中预先存储有用户信息及其对应的权限信息;在客户端发送权限请求消息给服务器之后,服务器根据登录消息中携带的用户信息,查询与该用户信息对应的权限信息,之后服务器将该用户信息对应的权限信息返回给客户端。
在其中一个实施例中,在客户端接收服务器返回的web应用的当前登录用户的权限信息之后,客户端根据web应用的当前登录用户的权限信息,注册页面路由,通过HTTP连接接收页面数据,并根据页面数据和页面路由渲染web 页面,并展示web页面。
在完成上述步骤之后,客户端与服务器之间建立了双向通信,服务器可以主动告知客户端更新视图权限,单页应用用户的权限发生变更之后,客户端的视图能够在接到通知后实时更新,不需要退出重新登录,也不需要用户主动触发请求后服务器通过报错方式通知客户端更新权限。
在本实施例中,服务器通过与客户端之间建立的双向通信,能够在管理员修改用户权限后的第一时间根据修改后的权限内容以及更新时间生成新的所有权限的hash值、新的用户权限并更新缓存。同时,将该用户修改后的权限信息发送给客户端,实现当 权限被修改后权限信息能够实时更新,用户不需重新登录即可获得修改后的新权限,使得权限更新信息通信的效率提高。
在本实施例中,管理员可在服务器对客户端任一用户的所有权限进行修改并随即通知service worker进程。Service worker进程接收到通知后发送给被修改权限的客户端,单页应用在客户端上根据更新当前用户的权限。
在其中一些实施例中,用户信息包括用户唯一标识信息;权限信息包括权限列表或者权限列表的哈希值。其中,哈希值是通过一定的哈希算法(典型的有MD5,SHA-1等),将一段较长的数据映射为较短小的数据,这段小数据就是大数据的哈希值。哈希值具有唯一性的特点,即某一个大数据唯一对应一个小数据。一旦大数据发生了变化,哪怕是一个微小的变化,哈希值也会发生变化。
在其中一个实施例中,在web应用的当前登录用户的权限信息发生变更的情况下,服务器更新预先存储的权限信息中与web应用的当前登录用户对应的权限信息,并将权限更新消息发送给独立进程。
通过上述步骤,当用户权限被修改后,通过之前步骤建立的服务器和客户端之间的双向通信,能够实现权限的实时更新。同时不需要用户重新登录即可重新渲染页面,减少了服务器资源和网络资源的损耗,加快了权限更新的速度。
图4是根据本申请实施例的web应用实时权限的控制方法的示意图,如图4 所示,包括:首先由客户端加载单页web应用,加载完成后注册service worker 独立进程,通过service worker独立进程与服务器间建立双向通信。当管理员更改用户权限时,服务器主动向service worker独立进程推送更新提醒,service worker进程收到服务器通知后,通知应用更新权限,单页应用收到service worker 进程的通知后向服务器请求更新权限。
在其中一个优选实施例中,单页web应用与服务器之间建立了HTTP连接, HTTP需要在建立连接的基础上来进行数据传输,当用户在浏览器中输入网址后, 浏览器会在浏览器DNS缓存,本地DNS缓存和Hosts中寻找对应的记录,如果没有获取到则会请求DNS服务来获取对应的IP当获取到IP后,TCP连接会进行三次握手建立连接。通过单页应用和服务器建立HTTP连接,单页应用能够向服务器请求权限接口。其中,HTTP协议具有无状态性,即HTTP协议对于事务处理没有记忆能力。也就是说,如果客户端打开服务器的网页后,再去打开这个服务上面的网页的时候,这前后两次请求是没有联系的是独立的。因此,仅凭单页web应用和服务器之间的HTTP连接不能实现应用权限的实时更新,需要如上述步骤所述在客户端和服务器之间建立双向通信。
在其中一个优选实施例中,当管理员更改用户权限时,服务器会主动向serviceworker独立进程推送更新提醒。在服务器与客户端之间已经建立双向通信后,管理员修改用户权限后会实时将修改后的用户权限信息以权限更新消息的形式推送给serviceworker独立进程。Service worker独立进程收到服务器发送的权限更新消息推送后转发给客户端,实现用户权限更新消息实时从服务器传达到客户端,保证管理员在服务器上修改用户权限时权限更新消息能够在第一时间推送到客户端,降低权限更新的延迟。
通过上述步骤,能够在用户客户端和服务器之间建立双向通信通道,实现了管理员实时变更应用权限和单页web应用权限实时更新,不需重新登录,减轻服务器和网络资源损耗,使得应用运行速度加快。同时还可以实现消息推送,使web应用资源本地化,提升用户体验。
本实施例还提供了一种web应用实时权限控制的电子装置,包括存储器和处理器,其特征在于,存储器中存储有计算机程序,处理器被设置为运行计算机程序以上述步骤说明中任一项的web应用实时权限控制方法。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,客户端在加载web应用后注册独立进程,并通过独立进程建立与服务器的双向通信。
S2,在web应用与服务器之间建立HTTP连接的情况下,客户端从独立进程接收权限更新消息。
S3,客户端在接收到权限更新消息后,向服务器重新请求web应用的当前登录用户的权限信息。
其中,在上述步骤中,双向通信的连接也可以在单页web应用内完成,不一定要利用service worker等独立进程技术。双向通信技术不局限于websocket 协议等全双工通信技术,可以是其他技术,例如,轮询,长轮询,Flash Socket,基于iframe的长连接等。跨域通信技术不仅限于postMessage,也可以是其他跨域或者非跨域技术,例如:JSONP跨域,iframe+domain跨域,nginx反向代理跨域,cors跨域。
相较于已知技术,本申请在客户端使用了异步进程和服务器建立双向通信的方法交换信息,单页web应用使用了跨域通信技术(postMessage等)接收其他进程的消息,同时单页web应用根据接收到的信息完成的工作包括但不限于视图权限,通过上述步骤,使得服务器和客户端基于双向通信实现了实时权限更新,权限更新及时,服务器几乎与客户端同步更新权限,且不用重新登录。
需要说明的是,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
本实施例还提供了一种web应用实时权限控制的一种存储介质,其特征在于,存储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行以上步骤中任一项的一种web应用实时权限控制方法。
综上,通过本申请提供的上述实施例或者优选实施方式,有如下有益效果:
1、在本申请实施例基于双向通行实现权限实时更新,权限更新及时,服务器几乎与客户端同步更新权限,且不用重新登录。
2、在本申请实施例中单页web应用权限实时更新,不需重新登录,减轻服务器和网络资源损耗,使得应用运行速度加快。
3、在本申请实施例中同时还可以实现消息推送,web应用资源本地化,提升用户体验。
4、在本申请实施例中填补了相关技术的缺陷,在控制单页应用权限时能够降低服务器消耗同时实现网页权限的实时更新。
本领域的技术人员应该明白,以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的一种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (9)

1.一种web应用实时权限的控制方法,应用于客户端,其特征在于包括:
所述客户端在加载单页web应用后注册独立进程,并通过所述独立进程建立与服务器的双向通信;
在所述单页web应用与所述服务器之间建立HTTP连接的情况下,所述客户端从所述独立进程接收权限更新消息,其中,所述权限更新消息是所述服务器在所述单页web应用的当前登录用户的权限信息发生更新的情况下生成的;
所述客户端在接收到所述权限更新消息后,发送权限请求消息给所述服务器;
所述客户端接收所述服务器返回的所述单页web应用的当前登录用户的权限信息,其中,所述权限请求消息中携带有所述单页web应用的当前登录用户的用户信息;
所述客户端根据所述单页web应用的当前登录用户的权限信息,注册页面路由,通过所述HTTP连接接收页面数据,并根据所述页面数据和所述页面路由渲染web页面,并展示所述web页面。
2.根据权利要求1所述的web应用实时权限的控制方法,其特征在于,在所述客户端从所述独立进程接收权限更新消息之前,所述方法还包括:
所述客户端发送登录消息给所述服务器,并接收所述服务器返回的权限令牌,其中,所述登录消息中携带有登录所述单页web应用的用户的用户信息;
所述客户端生成携带有所述权限令牌的HTTP请求,并将所述HTTP请求发送给所述服务器,建立所述单页web应用与所述服务器之间的HTTP连接。
3.根据权利要求1所述的web应用实时权限的控制方法,其特征在于,在所述服务器中预先存储有用户信息及其对应的权限信息;在所述客户端发送权限请求消息给所述服务器之后,所述方法还包括:
所述服务器根据登录消息中携带的用户信息,查询与该用户信息对应的权限信息;
所述服务器将与该用户信息对应的权限信息返回给所述客户端。
4.根据权利要求1至3中任一项所述的web应用实时权限的控制方法,其特征在于,所述用户信息包括用户唯一标识信息;所述权限信息包括权限列表或者权限列表的哈希值。
5.根据权利要求1所述的web应用实时权限的控制方法,其特征在于,客户端通过所述独立进程建立与服务器的双向通信包括:
在用户成功登录到所述单页web应用之后,所述客户端通过postMessage向所述独立进程发送连接消息,以指示所述独立进程与所述服务器建立双向通信。
6.根据权利要求1所述的web应用实时权限的控制方法,其特征在于,所述双向通信采用websocket协议。
7.根据权利要求1所述的web应用实时权限的控制方法,其特征在于,在所述服务器中预先存储有用户信息及其对应的权限信息;在所述客户端从所述独立进程接收权限更新消息之前,所述方法还包括:
在所述单页web应用的当前登录用户的权限信息发生变更的情况下,所述服务器更新预先存储的权限信息中与所述单页web应用的当前登录用户对应的权限信息,并将所述权限更新消息发送给所述独立进程。
8.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行权利要求1至7中任一项所述的web应用实时权限的控制方法。
9.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行权利要求1至7中任一项所述的web应用实时权限的控制方法。
CN202010851119.5A 2020-08-21 2020-08-21 web应用实时权限的控制方法、电子装置和存储介质 Active CN112165449B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010851119.5A CN112165449B (zh) 2020-08-21 2020-08-21 web应用实时权限的控制方法、电子装置和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010851119.5A CN112165449B (zh) 2020-08-21 2020-08-21 web应用实时权限的控制方法、电子装置和存储介质

Publications (2)

Publication Number Publication Date
CN112165449A CN112165449A (zh) 2021-01-01
CN112165449B true CN112165449B (zh) 2022-06-14

Family

ID=73859704

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010851119.5A Active CN112165449B (zh) 2020-08-21 2020-08-21 web应用实时权限的控制方法、电子装置和存储介质

Country Status (1)

Country Link
CN (1) CN112165449B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113204431B (zh) * 2021-06-01 2023-11-17 南京微鲤科技有限公司 开启权限的控制系统与方法
CN113392383A (zh) * 2021-06-09 2021-09-14 北京和信创天科技股份有限公司 一种Windows系统的多用户动态提权方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103870539A (zh) * 2014-02-20 2014-06-18 小米科技有限责任公司 文本预处理的方法及装置
CN107809337A (zh) * 2017-11-17 2018-03-16 深圳泉眼体育运营管理有限公司 一种日志上传方法及装置
CN110768974A (zh) * 2019-10-21 2020-02-07 成都安恒信息技术有限公司 一种单页应用实时视图权限的控制方法
CN111181941A (zh) * 2019-12-23 2020-05-19 杭州安恒信息技术股份有限公司 一种页面登录方法、系统及相关装置
CN111367596A (zh) * 2018-12-25 2020-07-03 阿里巴巴集团控股有限公司 一种实现业务数据处理的方法及装置和客户端

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9712560B2 (en) * 2007-11-05 2017-07-18 Cabara Software Ltd. Web page and web browser protection against malicious injections
US10409565B2 (en) * 2017-03-30 2019-09-10 Ice Tea Group Llc Pixel perfect real-time web application framework
US10416992B2 (en) * 2017-09-27 2019-09-17 Whatsapp Inc. Techniques for web application updates

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103870539A (zh) * 2014-02-20 2014-06-18 小米科技有限责任公司 文本预处理的方法及装置
CN107809337A (zh) * 2017-11-17 2018-03-16 深圳泉眼体育运营管理有限公司 一种日志上传方法及装置
CN111367596A (zh) * 2018-12-25 2020-07-03 阿里巴巴集团控股有限公司 一种实现业务数据处理的方法及装置和客户端
CN110768974A (zh) * 2019-10-21 2020-02-07 成都安恒信息技术有限公司 一种单页应用实时视图权限的控制方法
CN111181941A (zh) * 2019-12-23 2020-05-19 杭州安恒信息技术股份有限公司 一种页面登录方法、系统及相关装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
邱珊.使用HTML5 Web Worker提高Web的应用性能研究.《软件导刊》.2013,(第12期), *

Also Published As

Publication number Publication date
CN112165449A (zh) 2021-01-01

Similar Documents

Publication Publication Date Title
US10587544B2 (en) Message processing method, processing server, terminal, and storage medium
US10498831B2 (en) Communication sessions at a CoAP protocol layer
CN107948324B (zh) 请求传输系统、方法、装置及存储介质
CN108200165B (zh) 请求传输系统、方法、装置及存储介质
CN104580192B (zh) 应用程序的网络访问请求的处理方法和装置
RU2498520C2 (ru) Способ обеспечения одноранговой связи на веб-странице
US11290487B2 (en) Method and apparatus for reducing latency of network protocols
US20210160311A1 (en) Load balancing method and apparatus
CN112165449B (zh) web应用实时权限的控制方法、电子装置和存储介质
CN107222561A (zh) 一种传输层反向代理方法
US11799827B2 (en) Intelligently routing a response packet along a same connection as a request packet
CN104219215A (zh) 一种tcp连接的建立方法、装置、终端、服务器及系统
CN110417632B (zh) 一种网络通信方法、系统及服务器
US8650313B2 (en) Endpoint discriminator in network transport protocol startup packets
US11700321B2 (en) Transparent proxy conversion of transmission control protocol (TCP) fast open connection
CN108886533B (zh) 加速与主机服务器的连接
CN111726400A (zh) 反向连接的方法、装置和服务端系统
US11349934B2 (en) Opportunistic transmission control protocol (TCP) connection establishment
EP3059924B1 (en) Devices and methods for performing tcp handshakes
CN111314447B (zh) 代理服务器及其处理访问请求的方法
CN114124935A (zh) Ftp服务的实现方法、系统、设备及存储介质
CN111049754B (zh) 数据通信方法、装置、设备和计算机可读存储介质
EP3435629B1 (en) Transport of control data in proxy-based network communications
Yuan et al. The Design and Implementation of CoAP Over WebSocket Proxy

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