CN113608745B - 一种初始化用户权限的方法及存储介质 - Google Patents
一种初始化用户权限的方法及存储介质 Download PDFInfo
- Publication number
- CN113608745B CN113608745B CN202110917509.2A CN202110917509A CN113608745B CN 113608745 B CN113608745 B CN 113608745B CN 202110917509 A CN202110917509 A CN 202110917509A CN 113608745 B CN113608745 B CN 113608745B
- Authority
- CN
- China
- Prior art keywords
- configuration data
- initial
- authority
- script file
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 71
- 238000004458 analytical method Methods 0.000 claims abstract description 19
- 230000006870 function Effects 0.000 claims description 12
- 238000009877 rendering Methods 0.000 claims description 9
- 238000005538 encapsulation Methods 0.000 claims description 5
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 238000013075 data extraction Methods 0.000 claims description 4
- 238000004806 packaging method and process Methods 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 claims description 3
- 238000013500 data storage Methods 0.000 claims description 2
- 230000008569 process Effects 0.000 description 10
- 238000011161 development Methods 0.000 description 6
- 230000018109 developmental process Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本申请涉及计算机技术领域,提供了一种初始化用户权限的方法及存储介质,包括:调用抽象语法树分析工具对用户界面的源代码脚本文件进行转化,得到树状结构脚本文件;从树状结构脚本文件中的参数数组中提取目标权限配置数据;目标权限配置数据用于表征账户对用户界面的操作权限;将目标权限配置数据通过预设的应用程序接口配置到业务系统的权限模块,完成用户权限的初始化操作。实现了初始化用户权限的自动化,极大地提高了用户界面权限配置的效率和可靠性。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种初始化用户权限的方法、装置、计算机设备及存储介质。
背景技术
现有的用户界面开发过程中权限配置参数的初始化过程如图1所示,需要去录入权限配置数据并多次核对权限需求和录入业务系统的权限配置数据,然后再添加到业务系统的数据库中。这种初始化权限配置参数的方式过程繁琐,当用户权限需求产生变动时需要经过多个步骤反复确认,以致开发过程中数据变更的响应速度较低,极大地影响了用户界面权限配置的效率和可靠性。
发明内容
基于此,有必要针对上述技术问题,提供一种初始化用户权限的方法、装置、计算机设备及存储介质,以解决初始化用户权限过程效率和可靠性较低的问题。
本申请实施例的第一方面提供了一种初始化用户权限的方法,包括:
调用抽象语法树分析工具对用户界面的源代码脚本文件进行转化,得到树状结构脚本文件;从所述树状结构脚本文件中提取包含初始权限配置数据的参数数组;所述初始权限配置数据用于表征账户对所述用户界面的操作权限;将所述参数数组通过预设的应用程序接口配置到业务系统的权限模块,完成用户权限的初始化操作。
本申请实施例的第二方面提供了一种初始化用户权限的装置,包括:
代码转化模块:用于调用抽象语法树分析工具对用户界面的源代码脚本文件进行转化,得到树状结构脚本文件;
数据提取模块:用于从所述树状结构脚本文件中的提取包含初始权限配置数据的参数数组;所述初始权限配置数据用于表征账户对所述用户界面的操作权限;
初始化完成模块:用于将所述参数数组通过预设的应用程序接口配置到业务系统的权限模块,完成用户权限的初始化操作。
本申请实施例的第三方面提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,所述处理器执行所述计算机可读指令时实现上述初始化用户权限的方法。
本申请实施例的第四方面提供了一个或多个存储有计算机可读指令的可读存储介质,所述计算机可读指令被一个或多个处理器执行时,使得所述一个或多个处理器执行如上述初始化用户权限的方法。
实施本申请实施例提供的一种初始化用户权限的方法及存储介质具有以下有益效果:
本申请实施例提供的一种初始化用户权限的方法及存储介质,通过调用抽象语法树(Abstact Syntax Tree,AST)分析工具对用户界面的源代码脚本文件进行转化,得到树状结构脚本文件;从树状结构脚本文件中的提取包含初始权限配置数据的参数数组;初始权限配置数据用于表征账户对用户界面的操作权限;将参数数组通过预设的应用程序接口(Application Programming Interface,API)配置到业务系统的权限模块,完成用户权限的初始化操作,由于业务系统自动通过API获取到初始权限配置数据,故当用户权限需求发生变动时,业务系统随即获得更新后的初始权限配置数据,极大地提高了用户界面开发过程中数据变更的响应速度,实现了初始化用户权限的自动化,极大地提高了用户界面权限配置的效率和可靠性。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是现有的实现初始化用户权限的整体方案应用示意图;
图2是本申请实施例中初始化用户权限的方法的一应用环境示意图;
图3是本申请实施例中初始化用户权限的方法的实现流程示意图;
图4是本申请另一实施例中初始化用户权限的方法的实现流程示意图;
图5是本申请实施例中实现初始化用户权限的方法的整体方案应用示意图;
图6是本申请一实施例中初始化用户权限的装置的一结构示意图;
图7是本申请一实施例中计算机设备的一示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图2示出了本申请实施例中初始化用户权限的方法的一种应用环境示意图,如图2所示,本申请实施例提供的一种初始化用户权限的方法可应用于图2所示的应用环境中,由服务端的服务器进行用户权限初始化配置,然后将初始权限配置数据传送给客户端。其中,客户端包括但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。服务端可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
请参阅图3,图3所示为本申请实施例中初始化用户权限的方法的实现流程示意图,以该方法应用于图2中服务端的服务器为例进行说明,包括以下步骤:
S11:调用抽象语法树分析工具对用户界面的源代码脚本文件进行转化,得到树状结构脚本文件。
在步骤S11中,树状结构脚本文件是指调用工具对用户源代码脚本文件进行结构转化,而获得的树状结构的源代码脚本文件。
在本实施例中,通过调用AST分析工具对用户界面的源代码脚本文件进行转化,即使用@babel/parser工具对用户界面的源代码脚本文件进行AST分析,将源代码转化为JSON格式的抽象语法树结构,转化后的源代码记为树状结构脚本文件。其中,Babel工具是一个编译器(输入源代码=>输出编译后的代码)。
作为一个示例,利用Babel工具进行编译分为三个阶段:解析、转换和打印输出。使用Babel工具转译代码大概分为三个步骤:第一步(parser):code=>AST将源代码转化为AST;第二步(transform):AST=>修改过的AST;第三步(generate):修改过的AST=>编译后的code。本方案中用到其中的第一步骤,即调用@babel/parser工具中的parser方法将用户界面的源代码转化为AST结构,其中,AST是Abstract syntax tree的缩写,抽象语法树,JSON(JavaScript Object Notation,)是一种轻量级的数据交换格式。它基于ECMAScript(欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
S12:从所述树状结构脚本文件中的提取包含初始权限配置数据的参数数组。
在步骤S12中,初始权限配置数据用于表征账户对用户界面的操作权限。参数数组是指由开发人员创建的全局单例数组,用于存放初始权限配置数据。
在本实施例中,树状结构脚本文件是指调用工具对源代码脚本文件进行结构转化,得到的具有树状结构的脚本文件,由于树状结构脚本文件中的内容具有明确的结构与层级性,树状结构中的每个节点都表示源代码脚本文件中的一中结构,因此基于转化后的树状结构脚本文件可以便于提取需要的数据,也即可以从树状结构脚本文件中的提取包含初始权限配置数据的参数数组。
作为本申请一实施例,步骤S12包括:调用插件函数将所述初始权限配置数据存入预设的参数数组中;从所述树状结构脚本文件中提取所述参数数组。
其中,调用插件函数将所述初始权限配置数据存入预设的参数数组中包括:从所述树状结构脚本文件中识别出所述封装后的初始权限配置数据;提取所述封装后的初始权限配置数据中的初始权限配置数据;将所述初始权限配置数据存入预设的参数数组中。
在本实施例中,插件函数用于接收树状结构脚本文件并对树状结构脚本文件进行解析,最终返回包含初始权限配置数据的参数数组,其解析过程包括:首先从树状结构脚本文件中识别出封装后的初始权限配置数据,然后从封装后的初始权限配置数据中提取未封装前的初始权限配置数据,最后将提取未封装前的初始权限配置数据存入创建好的参数数组中,最终获得一个包含用户界面所有初始权限配置数据的参数数组。其中,参数数组用于存放从树状结构的用户源代码脚本文件中提取未封装前的初始权限配置数据,作为一示例,本实施例中应用全局单例数组作为参数数组,在实际应用场景中可选用其他数组来存放初始权限配置数据。由于最终获得的参数数组包含了所有的初始权限配置数据,故只需将参数数组从树状结构脚本文件中提取出来作为传送给业务系统的表征用户权限的数据。
作为本实施例一具体实施方式,创建一个全局单例数组,定义为ViewPermissions,同时创建一个babel插件函数P,该函数接收一个babel对象,即接收由@babel/parser工具转化后的树状结构脚本文件,具体代码表示为P(parser(sourceCode)),其中,parser(sourceCode)即S11步骤获取到的树状结构脚本文件。运行插件函数P,识别出插件函数P中path对象中的字符串withViewPermission,基于字符串withViewPermission获取源代码中的初始权限配置数据,并将获取到的初始权限配置数据存入ViewPermissions中。其中,path对象表示路径,如视图/子视图/孙视图,字符串withViewPermission包含用户界面的初始权限配置数据。最后将数组ViewPermissions作为表征用户权限的数据传送给业务系统。
S13:将所述参数数组通过预设的应用程序接口配置到业务系统的权限模块,完成用户权限的初始化操作。
在步骤S13中,预设的应用程序接口用于接收上述参数数组,即包含初始权限配置数据的全局单例数组,并返回HTTP状态204,业务系统通过API接收到包含初始权限配置数据的数组并对数组进行分类存储,其中,业务系统包含用户可操作的用户界面,业务系统基于用户角色对应的用户权限配置数据,将用户可操作的用户界面呈现给用户。
在本实施例中,通过异步JavaScript和XML(Asynchronous Javascript And XML,AJAX)技术将参数数组发送到业务系统的权限模块,业务系统的权限模块通过预设的API接收该包含初始权限配置数据的参数数组。其中,AJAX是用来描述一种使用现有技术集合的‘新’方法,包括:HTML或XHTML,CSS,JavaScript,DOM,XML,XSLT以及最重要的XMLHttpRequest。使用AJAX技术网页应用能够快速地将增量更新呈现在用户界面上,而不需要重载(刷新)整个页面,这使得程序能够更快地回应用户的操作,本实施例中利用AJAX技术将参数数组发送到业务系统,能够更快地提供给用户能够操作的权限数据,提高用户与业务系统的交互效率。
作为本申请一实施例,步骤S13包括:将所述参数数组通过所述预设的API传送到业务系统的权限模块;所述预设的API接收到所述参数数组后,分割所述参数数组中的初始权限配置数据,获得元素权限配置数据;
将所述元素权限配置数据配置到所述业务系统的权限模块的数据库中,完成用户权限的初始化操作。
在本实施例中,通过预设的API接收到包含用户权限配置数据的参数数组后,重新定义该数组,并遍历请求该参数数组,对数组中的每个元素按照斜线进行分割,获得元素权限配置数据。另创建一个数组,将元素权限配置数据放入该数组中,最后将存放该元素权限配置数据的数组作为用户界面的初始权限数据配置到业务系统的权限模块的数据库中。
作为本实施例一具体实施方式,业务系统的权限模块通过预设的API接收字符串列表,即接收步骤S12实施例中的ViewPermissions数组,并返回HTTP状态204,在业务系统的权限模块中,将该数组重新定义为REQ_ARG。接收完成之后,遍历请求REQ_ARG数组,对数组中的权限配置数据元素按照斜线进行分割,例如数组[“视图#1/子视图#1.1/孙视图#1.1.1”,“视图#2/子视图#2.1”],包含元素“视图#1/子视图#1.1/孙视图#1.1.1”和元素“视图#2/子视图#2.1”,分割后即划分为视图#1、子视图#1.1、孙视图#1.1.1、视图#2、子视图#2.1,重新创建一空数组,定义为R数组,将分割后的元素权限配置数据放入R数组中,把R数组作为视图权限的初始权限数据配置到所述业务系统的权限模块的数据库中,完成用户权限的初始化操作。用户在访问用户界面时,可根据数据库中的初始权限数据获得相应的操作权限。
本申请实施例提供的一种初始化用户权限的方法及存储介质,通过调用AST分析工具对用户界面的源代码脚本文件进行转化,得到树状结构脚本文件;从所述树状结构脚本文件中的提取包含初始权限配置数据的参数数组;所述初始权限配置数据用于表征账户对所述用户界面的操作权限;将所述参数数组通过预设的应用程序接口API配置到业务系统的权限模块,完成用户权限的初始化操作,实现了初始化用户权限的自动化,无需再去录入、多次的核对业务系统的权限配置数据,极大地提高了用户界面权限配置的效率和可靠性,降低了工作量。
请参阅图4,图4是本申请另一实施例提供的一种初始化用户权限的实现流程图。相对于图3对应的实施例,本实施例提供的初始化用户权限的方法在步骤S11之前还包括S21~S22。详述如下:
S21:根据用户权限需求配置得到初始的用户界面源代码脚本文件。
S22:调用视图权限方法对所述初始的用户界面源代码脚本文件中的初始权限配置数据进行封装操作,获得用户界面源代码脚本文件。
在步骤S21中,根据用户权限需求配置得到初始的用户界面源代码脚本文件。
在本实施例中,不同的用户角色权限需求对应不同的初始权限配置数据,例如角色A拥有“视图#1->子视图#1.1->孙视图#1.1.1”、“视图#2->子视图#2.1”的权限,没有“视图#3”的权限,角色B拥有“视图#1->子视图#1.1->孙视图#1.1.1”、“视图#3”的权限,没有“视图#2->子视图#2.1”的权限,基于产品经理或其他管理人员设定的用户权限需求可先配置得到初始的用户界面源代码脚本文件。
在步骤S22中,调用视图权限方法对所述初始的用户界面源代码脚本文件中的初始权限配置数据进行封装操作,获得用户界面源代码脚本文件。
在本实施例中,用户界面源代码脚本文件中包括封装后的初始权限配置数据,是对初始的用户界面源代码脚本文件的更新。
作为本申请一实施例,其中,步骤S22包括:调用视图权限方法,将视图组件类与所述初始权限配置数据进行封装,获得包含封装后的初始权限配置数据的用户界面源代码脚本文件。
在本实施例中,视图权限方法接收两个参数,一个初始权限配置数据,一个视图组件件类,其中,视图组件类用于视图组件类用于将基于所述初始配置数据得到的用户视图渲染到用户界面,提供给用户进行交互操作。调用视图权限方法将初始权限配置数据以及视图组件类进行封装,会返回一个新的渲染组件,该渲染组件基于用户角色对应的初始权限配置数据也即视图路径将该用户可操作的视图渲染到用户界面。
作为本申请一具体实施方式,调用方法withViewPermission对初始权限配置数据进行封装。该方法接收两个参数:(1)一个字符串参数,取名为permissionPath即“视图路径”,该字符串用斜线/来区分层级,比如“dashboard/button/create”表示dashboard是根结点名称,该根结点的孩子节点名称为button,该孩子节点名称为create,它会最终形成一个带有层级关系的链表:dashboard->button->create传给业务系统;(2)一个视图组件类,取名为RenderComponent即“目标渲染组件”,该类负责把视图渲染到界面去,提供给用户进行交互操作。最终该方法返回一个新的渲染组件:这个新的渲染组件自带了视图权限判断的逻辑,是对原渲染组件(即第二个参数RenderComponent)的能力增强。
所以,该方法会根据permissionPath判断是否把RenderComponent渲染出来,判断的策略如下:
向业务系统的权限模块API请求获取当前用户所在角色拥有哪些视图权限;该接口由业务系统的权限模块实现,要求根据当前的用户所在的角色,返回该角色的可访问的视图数据;比如产品经理设置了角色A拥有“视图#1->子视图#1.1->孙视图#1.1.1”、“视图#2->子视图#2.1”的权限,没有“视图#3”的权限,那么该接口对于处在角色A的用户需要返回“视图#1->子视图#1.1->孙视图#1.1.1”和“视图#2->子视图#2.1”这两项数据)
把permissionPath按照斜线进行分割,然后判断permissionPath是否能够匹配到上述接口返回的结果;比如permissionPath为“视图#2/子视图#2.1”,分割结果为“视图#2->子视图#2.1”则匹配成功,可渲染目标组件,若为“视图#3”则不渲染目标组件。
在用户界面开发过程中,对原有的组件按照权限需求使用该方法对源代码中的初始配置数据进行功能增强,具体来说:
(1)已开发了三个初始配置数据组件,分别为ComponentA,ComponentB和ComponentC;
(2)按照权限需求:对于ComponentA,只有那些拥有“视图#1->子视图#1.1->孙视图#1.1.1”的视图权限才能渲染出来,对于ComponentB,只有那些拥有“视图#2->子视图#2.1”的视图权限才能渲染出来,对于ComponentC,只有那些拥有“视图#3”的视图权限才能渲染出来;那么我们对三个组件分别进行功能增强(以下等号表示赋值,把等号右边的返回值赋给左边的变量,也就是用这个变量来表示等号右边的返回值):
VPComponentA=withViewPermission(“视图#1/子视图#1.1/孙视图#1.1.1”,ComponentA)
VPComponentB=withViewPermission(“视图#2/子视图#2.1”,ComponentB)
VPComponentC=withViewPermission(“视图#3”,ComponentC)
(3)用户界面开发者把使用了ComponentA、ComponentB和ComponentC的代码部分修改为对应的VPComponentA、VPComponentB、VPComponentC,如假设存在以下代码,表示页面会渲染出ComponentA、ComponentB和ComponentC组件:
作为本实施例中一种具体实施方式,一应用程序开发,已开发了三个权限配置数据组件,分别为ComponentA,ComponentB和ComponentC,如下:
<App>
<ComponentA/>
<ComponentB/>
<ComponentC/>
</App>
通过withViewPermission方法,接收视图路径参数和上述权限配置数据组件参数,获得修改后的权限配置数据组件,如下:
<App>
<VPComponentA/>
<VPComponentB/>
<VPComponentC/>
</App>
其中,对于修改后的权限配置数据组件,视图路径参数与上述组件参数一一对应,基于视图路径参数,将对应的权限配置数据组件参数渲染出来,返回给用户。上述组件,ComponentA,ComponentB和ComponentC用于表征权限配置数据,现有技术中能够找到相关的替换组件,实现相同的作用。这里不再赘述。
以上方案,根据用户权限需求,调用视图权限方法增强用户界面源代码中的初始权限配置数据的能力,获得增强后的权限配置数据,即根据用户角色对应的视图权限,将视图渲染出来,实现了用户与界面的交互。
请参阅图5,图5所示为本申请实施例中实现初始化用户权限的方法的整体方案应用示意图。如图5所示,由产品经理设计出权限需求以及基于权限需求的产品原型,基于包含用户权限需求的产品原型,由开发人员设计出相应的用户界面的源代码脚本文件,然后调用AST分析工具对用户界面的源代码脚本文件进行转化,得到树状结构脚本文件;从树状结构脚本文件中提取包含初始权限配置数据的参数数组;将包含初始权限配置数据的参数数组通过预设的应用程序接口API直接配置到业务系统的权限模块,完成用户权限的初始化操作,无需再由产品经理手工录入数据。
与图1所示的现有的实现初始化用户权限的方法的流程相比不仅解决了手工录入所带来的各种问题,也提高了整个产品经理的产出效率(只需关注权限需求和产品原型),而且用户界面开发也彻底摆脱了对业务系统的权限模块的依赖,反而获得了控制权:由实际的用户界面开发产物来决定业务系统的权限模块的初始配置数据,使得整个视图权限的初始配置数据自顶向下顺序完成,进一步提高了业务系统的权限模块的稳定性,也提高了业务系统的视图权限需求变更的响应速度。实现了初始化用户权限的自动化,无需再去录入、多次的核对业务系统的权限配置数据,极大地提高了用户界面权限配置的效率和可靠性,降低了工作量。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
在一实施例中,提供一种初始化用户权限的装置600,该初始化用户权限的装置与上述实施例中初始化用户权限的方法一一对应。如图6所示,该初始化用户权限的装置包括代码转化模块、数据提取模块和初始化完成模块。
各功能模块详细说明如下:
代码转化模块601:用于调用抽象语法树分析工具对用户界面的源代码脚本文件进行转化,得到树状结构脚本文件。
数据提取模块602:用于从所述树状结构脚本文件中的提取包含初始权限配置数据的参数数组;所述初始权限配置数据用于表征账户对所述用户界面的操作权限。
初始化完成模块603:用于将所述参数数组通过预设的应用程序接口配置到业务系统的权限模块,完成用户权限的初始化操作。
其中,初始化完成模块又包括:
传送子模块:将所述参数数组通过所述预设的API传送到业务系统的权限模块。
分割子模块:用于所述预设的API接收到所述参数数组后,分割所述参数数组中的初始权限配置数据,获得元素权限配置数据。
数据存储子模块:用于将所述元素权限配置数据传入所述业务系统的权限模块的数据库中,完成用户权限的初始化操作。
关于初始化用户权限的装置的具体限定可以参见上文中对于初始化用户权限的方法的限定,在此不再赘述。上述初始化用户权限的装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括可读存储介质、内存储器。该可读存储介质存储有操作系统、计算机可读指令和数据库。该内存储器为可读存储介质中的操作系统和计算机可读指令的运行提供环境。该计算机设备的数据库用于存储初始化用户权限的方法所涉及的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机可读指令被处理器执行时以实现一种初始化用户权限的方法。本实施例所提供的可读存储介质包括非易失性可读存储介质和易失性可读存储介质。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括可读存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机可读指令。该内存储器为可读存储介质中的操作系统和计算机可读指令的运行提供环境。该计算机设备的网络接口用于与外部服务器通过网络连接通信。该计算机可读指令被处理器执行时以实现一种初始化用户权限的方法。本实施例所提供的可读存储介质包括非易失性可读存储介质和易失性可读存储介质。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机可读指令,处理器执行计算机可读指令时实现以下步骤:
调用抽象语法树分析工具对用户界面的源代码脚本文件进行转化,得到树状结构脚本文件。
从所述树状结构脚本文件中的提取包含初始权限配置数据的参数数组;所述初始权限配置数据用于表征账户对所述用户界面的操作权限。
将所述参数数组通过预设的应用程序接口配置到业务系统的权限模块,完成用户权限的初始化操作。
在一个实施例中,提供了一个或多个存储有计算机可读指令的计算机可读存储介质,本实施例所提供的可读存储介质包括非易失性可读存储介质和易失性可读存储介质。可读存储介质上存储有计算机可读指令,计算机可读指令被一个或多个处理器执行时实现以下步骤:
调用抽象语法树分析工具对用户界面的源代码脚本文件进行转化,得到树状结构脚本文件。
从所述树状结构脚本文件中的提取包含初始权限配置数据的参数数组;所述初始权限配置数据用于表征账户对所述用户界面的操作权限。
将所述参数数组通过预设的应用程序接口配置到业务系统的权限模块,完成用户权限的初始化操作。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机可读指令来指令相关的硬件来完成,所述的计算机可读指令可存储于一非易失性可读取存储介质或易失性可读存储介质中,该计算机可读指令在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (8)
1.一种初始化用户权限的方法,其特征在于,包括:
调用抽象语法树分析工具对用户界面的源代码脚本文件进行转化,得到树状结构脚本文件;
从所述树状结构脚本文件中提取包含初始权限配置数据的参数数组;所述初始权限配置数据用于表征账户对所述用户界面的操作权限;
将所述参数数组通过预设的应用程序接口配置到业务系统的权限模块,完成用户权限的初始化操作;
其中,所述调用抽象语法树分析工具对用户界面的源代码脚本文件进行转化,得到树状结构脚本文件的步骤之前,还包括:
根据用户权限需求配置得到初始的用户界面源代码脚本文件;
调用视图权限方法对所述初始的用户界面源代码脚本文件中的初始权限配置数据进行封装操作,获得用户界面源代码脚本文件;其中,所述用户界面源代码脚本文件中包括封装后的初始权限配置数据;
其中,所述调用视图权限方法对所述初始的用户界面源代码脚本文件中的初始权限配置数据进行封装操作,获得用户界面源代码脚本文件,包括:
调用视图权限方法,将视图组件类与所述初始权限配置数据进行封装,获得包含封装后的初始权限配置数据的用户界面源代码脚本文件;其中,所述视图组件类用于将基于所述初始配置数据得到的用户视图渲染到用户界面。
2.如权利要求1所述的初始化用户权限的方法,其特征在于,所述从所述树状结构脚本文件中提取包含初始权限配置数据的参数数组,包括:
调用插件函数将所述初始权限配置数据存入预设的参数数组中;
从所述树状结构脚本文件中提取所述参数数组。
3.如权利要求2所述的初始化用户权限的方法,其特征在于,所述调用插件函数将所述初始权限配置数据存入预设的参数数组中,包括:
从所述树状结构脚本文件中识别出所述封装后的初始权限配置数据;
提取所述封装后的初始权限配置数据中的初始权限配置数据;
将所述初始权限配置数据存入预设的参数数组中。
4.如权利要求1所述的初始化用户权限的方法,其特征在于,所述将所述参数数组通过预设的应用程序接口配置到业务系统的权限模块,完成用户权限的初始化操作,包括:
将所述参数数组通过所述预设的应用程序接口传送到业务系统的权限模块;
所述预设的应用程序接口接收到所述参数数组后,分割所述参数数组中的初始权限配置数据,获得元素权限配置数据;
将所述元素权限配置数据配置到所述业务系统的权限模块的数据库中,完成用户权限的初始化操作。
5.一种初始化用户权限的装置,其特征在于,包括:
代码转化模块:用于调用抽象语法树分析工具对用户界面的源代码脚本文件进行转化,得到树状结构脚本文件;
数据提取模块:用于从所述树状结构脚本文件中的提取包含初始权限配置数据的参数数组;所述初始权限配置数据用于表征账户对所述用户界面的操作权限;
初始化完成模块:用于将所述参数数组通过预设的应用程序接口配置到业务系统的权限模块,完成用户权限的初始化操作;
其中,所述调用抽象语法树分析工具对用户界面的源代码脚本文件进行转化,得到树状结构脚本文件的步骤之前,还包括:
根据用户权限需求配置得到初始的用户界面源代码脚本文件;
调用视图权限方法对所述初始的用户界面源代码脚本文件中的初始权限配置数据进行封装操作,获得用户界面源代码脚本文件;其中,所述用户界面源代码脚本文件中包括封装后的初始权限配置数据;
其中,所述调用视图权限方法对所述初始的用户界面源代码脚本文件中的初始权限配置数据进行封装操作,获得用户界面源代码脚本文件,包括:
调用视图权限方法,将视图组件类与所述初始权限配置数据进行封装,获得包含封装后的初始权限配置数据的用户界面源代码脚本文件;其中,所述视图组件类用于将基于所述初始配置数据得到的用户视图渲染到用户界面。
6.如权利要求5所述的初始化用户权限的装置,其特征在于,所述初始化完成模块包括:
传送子模块:用于将所述参数数组通过所述预设的API传送到业务系统的权限模块;
分割子模块:用于所述预设的API接收到所述参数数组后,分割所述参数数组中的初始权限配置数据,获得元素权限配置数据;
数据存储子模块:用于将所述元素权限配置数据配置到所述业务系统的权限模块的数据库中,完成用户权限的初始化操作。
7.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,其特征在于,所述计算机可读指令被处理器执行时实现权利要求1-4任意一项所述的初始化用户权限的方法。
8.一个或多个可读存储介质,其特征在于,所述可读存储介质存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如权利要求1-4任意一项所述的初始化用户权限的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110917509.2A CN113608745B (zh) | 2021-08-11 | 2021-08-11 | 一种初始化用户权限的方法及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110917509.2A CN113608745B (zh) | 2021-08-11 | 2021-08-11 | 一种初始化用户权限的方法及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113608745A CN113608745A (zh) | 2021-11-05 |
CN113608745B true CN113608745B (zh) | 2024-07-05 |
Family
ID=78308143
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110917509.2A Active CN113608745B (zh) | 2021-08-11 | 2021-08-11 | 一种初始化用户权限的方法及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113608745B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115329358A (zh) * | 2022-08-19 | 2022-11-11 | 济南浪潮数据技术有限公司 | 一种权限配置方法、系统、装置及计算机可读存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110826027A (zh) * | 2019-09-29 | 2020-02-21 | 烽火通信科技股份有限公司 | 一种计算机软件用户权限分配方法和系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101460451B1 (ko) * | 2013-09-06 | 2014-11-12 | 포항공과대학교 산학협력단 | 프로세스 주소 공간을 제어하는 장치 및 방법 |
CN108182069B (zh) * | 2017-12-28 | 2021-03-02 | 深圳市创梦天地科技股份有限公司 | 程序语言转换方法、终端设备及计算机可读介质 |
CN111488569B (zh) * | 2020-04-09 | 2022-12-27 | 支付宝(杭州)信息技术有限公司 | 一种权限确定、管理方法、装置、设备及介质 |
CN111709050A (zh) * | 2020-05-21 | 2020-09-25 | 四川虹美智能科技有限公司 | 初始化权限配置参数的方法及装置 |
-
2021
- 2021-08-11 CN CN202110917509.2A patent/CN113608745B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110826027A (zh) * | 2019-09-29 | 2020-02-21 | 烽火通信科技股份有限公司 | 一种计算机软件用户权限分配方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113608745A (zh) | 2021-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10216554B2 (en) | API notebook tool | |
CN111782330A (zh) | 一种基于Web应用的页面数据获取方法、装置及设备 | |
CN106371829A (zh) | 基于模块化思想的模板框架设计方法及系统 | |
CN111831384A (zh) | 语言切换方法和装置、设备及存储介质 | |
CN109840083B (zh) | 网页组件模板构建方法、装置、计算机设备和存储介质 | |
CN110908712A (zh) | 移动端跨平台的数据处理方法和设备 | |
JP7315786B2 (ja) | スマートコントラクトのクライアントプログラムの生成方法、システム、機器、及び媒体 | |
WO2016066048A1 (zh) | 一种Web应用的更新方法、装置和系统 | |
CN109597618B (zh) | 程序开发方法、装置、计算机设备及存储介质 | |
CN110895471A (zh) | 安装包生成方法、装置、介质及电子设备 | |
CN110727429B (zh) | 一种前端页面的生成方法、装置及设备 | |
EP3640817A1 (en) | System and method to convert a webpage built on a legacy framework to a webpage compatible with a target framework | |
WO2022099913A1 (zh) | 界面配置方法、装置、设备及介质 | |
US20230412694A1 (en) | Communication system for micro-frontends of a web application | |
CN114996619A (zh) | 一种页面显示的方法、装置、计算机设备及存储介质 | |
CN115599386A (zh) | 代码生成方法、装置、设备及存储介质 | |
CN117539490B (zh) | 一种运行于浏览器端的低代码引擎页面渲染方法及系统 | |
CN105683957A (zh) | 样式表推测性预加载 | |
CN110059278A (zh) | Web页面配置方法、服务器及计算机可读存储介质 | |
US20120124462A1 (en) | Web Application Optimization | |
CN113608745B (zh) | 一种初始化用户权限的方法及存储介质 | |
CN113050921A (zh) | 一种网页转换方法、装置、存储介质和计算机设备 | |
CN114254232B (zh) | 云产品页面生成方法、装置、计算机设备和存储介质 | |
CN112306972B (zh) | 一种基于云存储的文件生成方法和装置 | |
CN111723314A (zh) | 网页展示方法、装置、电子设备及计算机可读存储介质 |
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 |