CN108416199B - 一种应用的用户权限控制方法、装置及服务器 - Google Patents
一种应用的用户权限控制方法、装置及服务器 Download PDFInfo
- Publication number
- CN108416199B CN108416199B CN201810187253.2A CN201810187253A CN108416199B CN 108416199 B CN108416199 B CN 108416199B CN 201810187253 A CN201810187253 A CN 201810187253A CN 108416199 B CN108416199 B CN 108416199B
- Authority
- CN
- China
- Prior art keywords
- authority
- word
- user
- interface
- service module
- 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
Images
Classifications
-
- 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/31—User authentication
-
- 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/45—Structures or tools for the administration of authentication
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供的应用的用户权限控制方法、装置及服务器,应用于软件技术领域,本方法设置与权限字相对应的权限字接口,通过权限字接口调用对应的权限字,并将各业务模块的权限字接口存储在预创建的权限管理文件中,通过权限管理文件统一管理功能的权限,用户登录后,通过后台程序获取用户的权限字,将用户的权限字与权限管理文件中的权限字接口进行比对,加载与用户的权限字相对应的功能,从而实现针对不同用户提供不用应用功能的权限管理,本发明提供的方法,将功能权限的控制以及登录用户是否拥有某一权限的判断集中到权限管理文件中,避免用户权限的判断分散在每一功能的代码中,有效降低权限控制混乱的情况。
Description
技术领域
本发明涉及软件技术领域,具体涉及一种应用的用户权限控制方法、装置及服务器。
背景技术
应用程序(简称应用)在开发时往往需要设计多种不同的功能,比如一个oa(办公自动化)应用在开发时,需要设计出oa应用的任务创建、任务查看、财务报销等功能。应用往往有较多的使用用户,为使得不同权限的用户在使用应用时所使用的功能不同,进行应用的用户权限控制,从而在应用加载时,针对不同权限的用户区别化的实现应用的功能加载显得尤为必要。
目前应用的用户权限控制方式主要是,将应用中可能存在权限控制的功能均设置一个权限字,用户使用应用的权限由用户对应的权限字集合进行限定;这样用户在使用应用的某一功能时,可通过该功能的权限判断来判断用户是否具有使用该功能的权限字,来实现应用的用户权限控制。然而,这种方式由于用户权限的判断分散在每一功能的代码中,极易导致存在权限控制混乱的风险;因此如何改进应用的用户权限控制方式,以降低权限控制混乱的情况,成为了本领域技术人员需要考虑的问题。
发明内容
有鉴于此,本发明实施例提供一种应用的用户权限控制方法、装置及服务器,以降低权限控制混乱的情况。
为实现上述目的,本发明实施例提供如下技术方案:
第一方面,本发明申请提供一种应用的用户权限控制方法,包括:
启动应用,所述应用预先划分有至少一个业务模块;
加载预创建的权限管理文件;
将各业务模块的权限字接口存储在所述权限管理文件中,其中,一业务模块的权限字接口与该业务模块所具有的功能对应的权限字对应设置;
获取用户的权限字;
将所述用户的权限字与所述权限管理文件中的权限字接口进行匹配,确定与所述用户的权限字对应的功能;
加载与所述用户的权限字对应的功能。
优选的,所述权限管理文件包括第一json对象,且所述第一json对象中定义有至少一个键值对,其中所述键值对的名称为接口标识,键值对的值对应使用同一接口标识的权限字和权限字接口;
所述加载预创建的权限管理文件,包括:
调用所述预创建的权限管理文件中的所述第一json对象,加载所述第一json对象中的各键值对。
优选的,所述将各业务模块的权限字接口存储在所述权限管理文件中,包括:
在各业务模块中调用第二json对象,将各业务模块中预设的接口标识及权限字赋予所述第二json对象,其中所述第二json对象具备提供权限字接口的函数;
将所述第二json对象获得的接口标识和所述第一json对象中存储的各键值对的名称进行匹配,确定所述第一json对象中的目标键值对;
将各业务模块中的权限字及权限字接口存储在所述第一json对象的目标键值对中。
优选的,所述在各业务模块中调用第二json对象,包括:
遍历所有的所述业务模块,加载各所述业务模块中预设的索引文件中包含的调用所述第二json对象的函数。
优选的,所述将所述用户的权限字与所述权限管理中的所述权限字接口进行匹配,包括:
获取针对目标业务模块的访问请求,所述目标业务模块为所述应用中的任一业务模块;
将所述用户的权限字与所述权限管理文件中所述目标业务模块的权限字接口进行匹配;
所述确定与所述用户的权限字对应的功能,包括:
确定所述目标业务模块中与所述用户的权限字对应的功能;
所述加载与所述用户的权限字对应的功能,包括:
加载所述目标业务模块中与所述用户的权限字对应的功能。
优选的,所述将所述用户的权限字与所述权限管理文件中所述目标业务模块的权限字接口进行匹配,包括:
查询所述目标业务模块中与该所述用户的权限字相对应的接口标识;
根据查询所得的接口标识及所述用户的权限字,反馈所述键值对中存储的与所述用户的权限字对应的权限字接口;
所述确定所述目标业务模块中与所述用户的权限字对应的功能,包括:
确定所述目标业务模块中与反馈得到的权限字接口对应的功能;
所述加载所述目标业务模块中与所述用户的权限字对应的功能,包括:
加载所述目标业务模块中与反馈得到的权限字接口对应的功能。
优选的,本发明申请提供的应用的用户权限控制方法,所述权限管理文件由qml脚本语言创建。
第二方面,本发明申请提供一种应用的用户权限控制装置,包括:
启动单元,用于启动应用,所述应用预先划分有至少一个业务模块;
第一加载单元,用于加载预创建的权限管理文件;
存储单元,用于将各业务模块的权限字接口存储在所述权限管理文件中,其中,一业务模块的权限字接口与该业务模块所具有的功能对应的权限字对应设置;
获取单元,用于获取用户的权限字;
匹配单元,用于将所述用户的权限字与所述权限管理中的所述权限字接口进行匹配,确定与所述用户的权限字对应的功能;
第二加载单元,用于加载与所述用户的权限字对应的功能。
优选的,所述存储单元,包括:
赋值子单元,用于在各业务模块中调用第二json对象,将各业务模块中预设的接口标识及权限字赋予所述第二json对象,其中所述第二json对象具备提供权限字接口的函数;
匹配子单元,用于将所述第二json对象获得的接口标识和所述第一json对象中存储的各键值对的名称进行匹配,确定所述第一json对象中的目标键值对;
存储子单元,用于将各业务模块中的权限字及权限字接口存储在所述第一json对象的目标键值对中。
第三方面,本发明申请提供一种服务器,包括:存储器和处理器;所述存储器存储有适于所述处理器执行的程序,以实现第一方面任一项所述的应用的用户权限控制方法的步骤。
基于上述技术方案,本发明申请提供的应用的用户权限控制方法,设置与权限字相对应的权限字接口,通过权限字接口调用对应的权限字,即调用对应的功能,并将各业务模块的权限字接口存储在预创建的权限管理文件中,通过权限管理文件统一管理功能的权限,当用户登录应用后,通过后台程序获取用户的权限字,进而获知当前登录用户在本应用中的权限,将用户的权限字与权限管理文件中存储的各业务模块的权限字接口进行比对,加载与用户的权限字相对应的功能,从而实现针对不同用户提供不用应用功能的权限管理,本发明提供的应用的用户权限控制方法,将功能权限的控制以及登录用户是否拥有某一权限的判断集中到权限管理文件中,而不是采用现有技术中由各功能对用户的权限进行判断,避免用户权限的判断分散在每一功能的代码中,有效降低权限控制混乱的情况。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的应用的用户权限控制方法的流程图;
图2为本发明实施例提供的应用的用户权限控制装置的结构框图;
图3为本发明实施例提供的应用的用户权限控制装置的存储单元的结构框图;
图4为本发明实施例提供的服务器的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的应用的用户权限控制方法的流程图,该方法可应用于电子设备,该电子设备可选如笔记本电脑、智能手机、PC(个人计算机)等具有应用加载需求的用户设备,显然,该电子设备在某些情况下也可选用网络侧的服务器实现;参照图1,本发明实施例提供的应用的用户权限控制方法可以包括:
步骤S100、启动应用。
可选的,用户可点击电子设备屏幕显示的应用图标,触发应用的启动;当然,用户也可通过其他定义的快捷方式,触发应用的启动。
应用按照需求可划分出多个业务模块,一个业务模块往往又会提供多种功能;例如,一个oa(办公自动化)应用可以根据开发需求,划分出任务业务、报销业务、周报业务等,每一业务可通过代码实现出相应的业务模块,同时对于每一业务模块可通过代码实现出多种功能,如对于任务业务模块,可通过代码实现出任务创建、任务查看、任务状态设置、任务撤销、任务移交等功能。
步骤S110、加载预创建的权限管理文件。
可选的,权限管理文件的形式可以是qml文件(qml是一种描述性的脚本语言,权限管理文件的文件格式以.qml作为后缀),可通过预创建权限管理qml,实现权限管理文件的预创建,以方便后续代码编写及应用的使用;如本发明实施例可在工程中通过qml的脚本语言,创建出权限管理的qml文件(该qml文件以.qml作为后缀),实现权限管理qml的创建;显然,权限管理文件的形式不限于qml,权限管理文件还可以是其他格式形式的文件;
在应用启动时,本发明实施例可加载使用预创建的权限管理文件。
可选的,本发明实施例可在权限管理文件(如权限管理qml)中定义第一json(JavaScript Object Notation,JS对象标记)对象,通过第一json对象存储所述应用的所有业务模块的权限字接口以及各业务模块需要进行权限控制的功能的权限字。
可选的,第一json对象中可定义至少一个键值对,一个键值对的格式可以为:{key:[]};其中,[]内包含的内容表示key对应的值,可指key对应的数组,同时,可对key进行命名,通过不同的命名,区分不同的键值对,设置不同的键值对名称,有助于对各键值对的区分与识别,增强代码文件的可读性,进一步的,还可通过键值对名称实现对各业务模块提供的权限字接口的分类。
可选的,在本发明实施例中,第一json对象中一个键值对的key可以表示一个接口标识,value可以表示该接口标识对应的业务模块的权限字接口和权限字的数组,即所有使用该接口标识的权限字接口和权限字均可记录在该key对应的数组中,从而使得使用同一接口标识的权限字接口和权限字均可记录在同一个数组中,这样设定的优点是,使用者可以根据需要将权限字接口进行分组,接口标识即可用于区分组别,通过合理设置接口标识的名称,可以方便使用者在编程过程中对接口标识的调用和识别,降低程序编写过程中出现代码错误的机率,增强代码文件的可读性;进一步的,通过接口标识将权限字接口进行分类汇总,程序运行中需要调用某个权限字接口时,只需要搜索该权限字接口所存储在的键值对所对应的接口标识即可,而不是遍历整个程序代码,才能找到想要的权限字接口,有效提高程序执行的效率。
加载预先创建的权限管理文件,即为调用权限管理文件中的第一json对象,并加载第一json对象中设置的键值对,为后续接收权限字接口及权限字做准备。
作为一种可选示例,第一json对象中一个键值对的表示形式可以如:{“person”:[{“add”:interfaceObj}]};其中第一json对象中“person”表示接口标识,“add”为权限字,interfaceObj为权限字接口。
步骤S120、将各业务模块的权限字接口存储在权限管理文件中。
任一业务模块的权限字接口与该业务模块中需要权限控制的功能的权限字一对一对应设置,通过该权限字接口可以实现调用与之对应的权限字,即调用对应的功能。
需要说明的是,在实际应用中,一种可选的应用情况是,多个业务模块需要调用同一个需要权限控制的功能,即一个与该功能对应的权限字需要匹配多个权限字接口,此种情况下,权限字与权限字接口仅仅是在数量上存在一对多的对应关系,即可以存在多个业务模块通过相同形式的权限字接口调用同一个权限字的情况。就结构形式而言,权限字与权限字接口是一对一的匹配关系,就实际调用情况而言,既可以存在一对一的匹配关系,也可以存在一对多的匹配关系。一权限字至少对应一个权限字接口,在不同业务模块中设置同一权限字接口,可实现不同业务模块调用相同的权限字,即在不同的业务模块中加载同一功能。同样,在某一业务模块中,设置不同的权限字接口,可调用不同的权限字,即可实现在某一业务模块中调用不同的功能。
本发明提供的一种可选的将应用的各业务模块的权限字接口存储在权限管理文件中的方法,例如命名为on方法,on方法的具体代码存储在权限管理文件中,通过on方法可将每一业务模块所对应的权限字接口和权限字,存储在权限管理文件中,on方法的参数可以是第二json对象,即on方法可基于定义的第二json对象实现;第二json对象中一个键值对的key可以表示一个接口标识,value可以表示该接口标识对应的一个权限字和一个接口函数(接口函数是返回权限字接口的方法),调用接口函数后,接口函数返回业务模块的权限字接口。
由于权限管理文件是全局文件,在应用代码的任何地方均可实现调用权限管理文件,对于各业务模块而言,需要进行权限控制的功能是已知的,因此需要预先为需要权限控制的功能设置权限字及与该权限字对应的权限字接口,同时,约定该权限字和权限字接口将要存储的键值对的接口标识,以方便权限字接口的管理和使用,在各业务模块中调用存储在权限管理文件中的on方法中的第二json对象,并将各业务模块中预设的接口标识及权限字赋予所述第二json对象中的部分参数,其中,第二json对象还具备提供权限字接口的函数,该函数可以实现调用权限字接口。
之后,将第二json对象获得的接口标识和同样存储在权限管理文件中的第一json对象中存储的各键值对的名称进行匹配,键值对名称与第二json对象获得的接口标识相同的键值对,即为第一json对象中的目标键值对,此处的目标键值对,可以是存储在第一json对象中的任一键值对,确定目标键值对后,将各业务模块中的权限字及权限字接口存储在第一json对象的目标键值对中。
例如,第二json对象的一个可选形式可以为:{“flag”:“select”,“permission”:“select”,“callback”:function(param){return{}}};其中,第二json对象中“flag”表示接口标识,“permission”表示权限字,“callback”表示返回权限字接口的接口函数。通过调用第二json对象,可以实现将应用的各业务模块的权限字接口存储在权限管理文件中。
可选的,为方便各业务模块调用权限管理文件中的on方法,各业务模块均创建有索引文件,例如,该业务模块索引文件可基于qml脚本语言创建,(该索引qml文件以.qml作为后缀),显然,索引文件的形式不限于qml,索引文件还可以是其他格式形式的文件。
可选的,索引文件中创建有加载模块,该加载模块存储有可实现调用存储在权限管理中的on方法的函数,在代码中遍历所有业务模块,并获取每个业务模块的索引文件,并加载每个业务模块的索引文件中的加载模块,调用on方法,将各业务模块的权限字接口存储所述权限管理文件中。
步骤S130,获取用户的权限字。
可选的,使用者在使用应用前,首先需登录应用,登录应用的方式有多种,可以通过注册的用户名和密码登录应用,可以通过向已注册手机号码发送即时登录密码,通过该注册手机号码和即时登录密码登录应用,还可以通过微信、微博等第三方认证软件登录应用。显然,登录应用的方式不限于上述几种方式,还可以是应用允许的其他登录方式。
可选的,用户使用应用的权限由用户对应的权限字集合进行限定,用户登录应用后,不需要知道该用户在应用中拥有哪些权限,应用会在后台程序中获取该登录用户的权限字,进而获得该登录用户的应用使用权限。
步骤S140,将登录用户的权限字与权限管理中的权限字接口进行匹配,确定与登录用户的权限字对应的功能。
可选的,在用户登录后,应用在后台程序中获取该用户的所有权限字,并将所获得的权限字与权限管理中的权限字接口比对,获知与该登录用户的权限字相匹配的权限字接口,确定与该登录用户的权限对应的功能。
用户登录应用后,根据要完成的工作内容,点击想要访问或操作的业务模块后(可以是点击用户界面的业务模块标签,可以是点击用户界面的按钮,当然也可以是其他可使用户进行进一步操作的可选形式),获取用户针对目标业务模块(此处所述的目标业务模块,可以是应用中的任一业务模块)的访问请求,具体的,可以是获取用户的点击操作或是获取键盘的回车命令等形式。
将所述用户的权限字与权限管理文件中当前目标业务模块的权限字接口进行匹配,具体地,在获取用户的权限字之后,查询目标业务模块中与该用户的权限字相对应的接口标识,并根据查询所得的接口标识以及用户的权限字,反馈权限管理文件中第一json对象的键值对中存储的与用户的权限字对应的权限字接口,根据反馈得到的权限字接口,确定目标业务模块中与该权限字接口相对应的功能。
步骤S150,加载与用户的权限字对应的功能
根据反馈得到的权限字接口,确定目标业务模块中与用户的权限字对应的功能后,便可加载该功能,完成登录用户的应用使用权限下的应用功能加载。
本发明提供的一种可选的加载该用户在应用中可操作的各业务模块的各功能的方法,例如命名为regist方法,regist方法可用于调用业务模块的接口标识对应的权限字接口,该方法的参数为一个接口标识和一个接口函数,参数中的接口标识用于查找权限字接口,接口函数可用于返回所查找的权限字接口所对应的数组,即返回与用户权限字相对应的权限字接口,并通过该权限字接口加载对应的应用功能。
可选的,在获取用户的权限字并完成比对后,对于用户无权使用的应用功能,可以不与加载或者在应用显示界面对该登录用户无权使用的应用功能进行区别显示,如显示为灰色,又或者当用户点击该无权使用的应用功能时,弹出对话框,提醒当前登录用户无权使用该应用功能。
通过本申请提供的应用的用户权限控制方法,将功能权限的控制以及登录用户是否拥有某一权限的判断集中到权限管理文件中,而不是采用现有技术中由各功能对用户的权限进行判断,避免用户权限的判断分散在每一功能的代码中,有效降低权限控制混乱的情况。
可选的,本申请提供的应用的用户权限控制方法的一个应用实施例可如下所示:
用户双击PC机中安装的某一需要对用户权限进行控制的应用的启动图标,且应用根据需求,预先划分为至少一个业务模块,任一业务模块中设置有多个功能,PC机获取启动命令,启动应用。启动应用后,加载应用中预先建立的权限管理qml文件,加载权限管理qml文件后,遍历所有业务模块,并加载各业务模块中存储的索引文件index.qml,通过各个业务模块的索引文件中存储的加载模块调用权限管理文件中的on方法,通过on方法将各业务模块的权限字接口存储在权限管理qml文件中,之后,应用通过后台管理程序获取当前登录用户的权限,亦即获取当前登录用户的权限字,应用获取用户点击某一业务模块的操作指令,调用regist方法,将用户的权限字与该业务模块存储在权限管理qml文件中的权限字接口进行匹配,如果匹配成功,则加载该权限字接口对应的应用的功能,如果匹配失败,则提示用户没有访问此功能的权限。
通过本申请提供的应用的用户权限控制方法,将功能权限的控制以及登录用户是否拥有某一权限的判断集中到权限管理文件中,权限管理文件作为权限控制的中间媒介,各业务模块将各自的需要进行权限控制的功能对应的权限字接口均存储在权限管理文件中,用户的访问权限由与功能对应的权限字组成,通过比对用户的权限字与权限管理文件中记载的权限字接口是否匹配,判定用户是否具有访问该功能的权限,而不是采用现有技术中由各功能对用户的权限进行判断,避免用户权限的判断分散在每一功能的代码中,有效降低权限控制混乱的情况。
进一步,基于本申请提供的应用的用户权限控制方法的主体思想,本发明申请还提供业务模块对外提供权限字接口的方法,该方法的内容如下:
将应用预先划分为至少一个业务模块,划分业务模块的数量取决于应用所实现的功能的繁简程度以及用户对于应用的使用需求等多种情况,可以仅划分一个业务模块,也可划分为多个业务模块,且将每个业务模块均存储于独立的文件夹中。
在每个业务模块对应的独立的文件夹中创建索引文件,可选的,此处创建的索引文件同本申请提供的应用的用户权限控制方法中述及的索引文件一样,可基于qml脚本语言创建,(一种可选的命名形式为index.qml),显然,索引文件的形式不限于qml,索引文件还可以是其他格式形式的文件。
各业务模块的索引文件中包含加载模块,用于各业务模块调用前述的权限管理文件中的on方法,将各业务模块的权限字接口存储在权限管理文件中,业务模块可通过访问权限管理文件获得其他业务模块提供的权限字接口,实现业务模块对外提供权限字接口的目的。
再一步,基于本申请提供的应用的用户权限控制方法的主体思想,本发明申请还提供业务模块调用其他业务模块的权限字接口的方法,对于需要调用其他业务模块的权限字接口的业务模块,仅需调用本申请提供的应用的用户权限管理方法中述及的regist方法,获取其他业务模块存储在权限管理文件中的权限字接口,如果获取到相应的权限字接口,则可以直接调用该权限字接口对应的功能,如果不能获得相应的权限字接口,则说明该权限字接口不存在或没有相应权限,又或者该权限字接口对应的功能尚未开发。
需要说明的是,不论是业务模块对外提供权限字接口还是业务模块调用其他权限字接口,所涉及到的接口标识、权限字接口、权限字等字段内容都是由程序员约定的,在提供权限字接口、调用其他权限字接口等操作中,程序员明确知道所要用到的具体字段的内容,不需要通过其他途径获得。
由于本发明将各业务模块的代码内容分别存储于独立的文件中,并将权限管理通过权限管理文件实现,各业务模块之间更加独立,业务模块的代码修改、业务模块间具体功能的调用以及业务模块的删除都不会对其他业务模块造成影响,有效提高应用的代码的维护性和复用性。
下面对本申请提供的应用的用户权限控制装置进行介绍,下文描述的应用的用户权限控制装置可以认为是为实现本申请提供的应用的用户权限控制方法,在中央设备中需设置的功能模块架构;下文描述内容可与上文相互参照。
图2为本发明实施例提供的一种应用的用户权限控制装置的结构框图,参照图2,该装置可以包括:
启动单元10,用于启动应用,所述应用预先划分有至少一个业务模块;
第一加载单元20,用于加载预创建的权限管理文件;
存储单元30,用于将各业务模块的权限字接口存储在所述权限管理文件中,其中,一业务模块的权限字接口与该业务模块所具有的功能对应的权限字对应设置;
获取单元40,用于获取用户的权限字;
匹配单元50,用于将所述用户的权限字与所述权限管理中的所述权限字接口进行匹配,确定与所述用户的权限字对应的功能;
第二加载单元60,用于加载与所述用户的权限字对应的功能。
可选的,参照图3,本发明实施例提供的一种应用的用户权限控制装置的存储单元的结构框图,该存储单元可以包括:
赋值子单元301,用于在各业务模块中调用第二json对象,将各业务模块中预设的接口标识及权限字赋予所述第二json对象,其中所述第二json对象具备提供权限字接口的函数;
匹配子单元302,用于将所述第二json对象获得的接口标识和所述第一json对象中存储的各键值对的名称进行匹配,确定所述第一json对象中的目标键值对;
存储子单元303,用于将各业务模块中的权限字及权限字接口存储在所述第一json对象的目标键值对中。
图4为本发明实施例提供的服务器的硬件结构图,参见图4所示,包括:可以包括:至少一个处理器100,至少一个通信接口200,至少一个存储器300和至少一个通信总线400;
在本发明实施例中,处理器100、通信接口200、存储器300、通信总线400的数量为至少一个,且处理器100、通信接口200、存储器300通过通信总线400完成相互间的通信;显然,图4所示的处理器100、通信接口200、存储器300和通信总线400所示的通信连接示意仅是可选的;
可选的,通信接口200可以为通信模块的接口,如GSM模块的接口;
处理器100可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
存储器300可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
其中,处理器100具体用于执行存储器内的应用程序,以实现上述所述的应用的用户权限控制方法。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的核心思想或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (7)
1.一种应用的用户权限控制方法,其特征在于,包括:
启动应用,所述应用预先划分有至少一个业务模块;
加载预创建的权限管理文件,将功能权限的控制以及登录用户是否拥有某一权限的判断集中到权限管理文件中,以避免用户权限的判断分散在每一功能的代码中;
将各业务模块的权限字接口存储在所述权限管理文件中,其中,一业务模块的权限字接口与该业务模块所具有的功能对应的权限字对应设置;
获取用户的权限字;
将所述用户的权限字与所述权限管理文件中的权限字接口进行匹配,确定与所述用户的权限字对应的功能;
加载与所述用户的权限字对应的功能;
其中,所述权限管理文件包括第一json对象,且所述第一json对象中定义有至少一个键值对,其中所述键值对的名称为接口标识,键值对的值对应使用同一接口标识的权限字和权限字接口;
所述加载预创建的权限管理文件,包括:
调用所述预创建的权限管理文件中的所述第一json对象,加载所述第一json对象中的各键值对;
其中,所述将各业务模块的权限字接口存储在所述权限管理文件中,包括:
在各业务模块中调用第二json对象,将各业务模块中预设的接口标识及权限字赋予所述第二json对象,其中所述第二json对象具备提供权限字接口的函数;
将所述第二json对象获得的接口标识和所述第一json对象中存储的各键值对的名称进行匹配,确定所述第一json对象中的目标键值对;
将各业务模块中的权限字及权限字接口存储在所述第一json对象的目标键值对中。
2.根据权利要求1所述的应用的用户权限控制方法,其特征在于,所述在各业务模块中调用第二json对象,包括:
遍历所有的所述业务模块,加载各所述业务模块中预设的索引文件中包含的调用所述第二json对象的函数。
3.根据权利要求1所述的应用的用户权限控制方法,其特征在于,所述将所述用户的权限字与所述权限管理中的所述权限字接口进行匹配,包括:
获取针对目标业务模块的访问请求,所述目标业务模块为所述应用中的任一业务模块;
将所述用户的权限字与所述权限管理文件中所述目标业务模块的权限字接口进行匹配;
所述确定与所述用户的权限字对应的功能,包括:
确定所述目标业务模块中与所述用户的权限字对应的功能;
所述加载与所述用户的权限字对应的功能,包括:
加载所述目标业务模块中与所述用户的权限字对应的功能。
4.根据权利要求3所述的应用的用户权限控制方法,其特征在于,所述将所述用户的权限字与所述权限管理文件中所述目标业务模块的权限字接口进行匹配,包括:
查询所述目标业务模块中与该所述用户的权限字相对应的接口标识;
根据查询所得的接口标识及所述用户的权限字,反馈所述键值对中存储的与所述用户的权限字对应的权限字接口;
所述确定所述目标业务模块中与所述用户的权限字对应的功能,包括:
确定所述目标业务模块中与反馈得到的权限字接口对应的功能;
所述加载所述目标业务模块中与所述用户的权限字对应的功能,包括:
加载所述目标业务模块中与反馈得到的权限字接口对应的功能。
5.根据权利要求1-4任一所述的应用的用户权限控制方法,其特征在于,所述权限管理文件由qml脚本语言创建。
6.一种应用的用户权限控制装置,其特征在于,包括:
启动单元,用于启动应用,所述应用预先划分有至少一个业务模块;
第一加载单元,用于加载预创建的权限管理文件,将功能权限的控制以及登录用户是否拥有某一权限的判断集中到权限管理文件中,以避免用户权限的判断分散在每一功能的代码中,其中,所述权限管理文件包括第一json对象,且所述第一json对象中定义有至少一个键值对,其中所述键值对的名称为接口标识,键值对的值对应使用同一接口标识的权限字和权限字接口;所述加载预创建的权限管理文件,包括:调用所述预创建的权限管理文件中的所述第一json对象,加载所述第一json对象中的各键值对;
存储单元,用于将各业务模块的权限字接口存储在所述权限管理文件中,其中,一业务模块的权限字接口与该业务模块所具有的功能对应的权限字对应设置;
获取单元,用于获取用户的权限字;
匹配单元,用于将所述用户的权限字与所述权限管理中的所述权限字接口进行匹配,确定与所述用户的权限字对应的功能;
第二加载单元,用于加载与所述用户的权限字对应的功能;
其中,所述存储单元,包括:
赋值子单元,用于在各业务模块中调用第二json对象,将各业务模块中预设的接口标识及权限字赋予所述第二json对象,其中所述第二json对象具备提供权限字接口的函数;
匹配子单元,用于将所述第二json对象获得的接口标识和所述第一json对象中存储的各键值对的名称进行匹配,确定所述第一json对象中的目标键值对;
存储子单元,用于将各业务模块中的权限字及权限字接口存储在所述第一json对象的目标键值对中。
7.一种服务器,其特征在于,包括:存储器和处理器;所述存储器存储有适于所述处理器执行的程序,以实现权利要求1-5任一项所述的应用的用户权限控制方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810187253.2A CN108416199B (zh) | 2018-03-07 | 2018-03-07 | 一种应用的用户权限控制方法、装置及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810187253.2A CN108416199B (zh) | 2018-03-07 | 2018-03-07 | 一种应用的用户权限控制方法、装置及服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108416199A CN108416199A (zh) | 2018-08-17 |
CN108416199B true CN108416199B (zh) | 2022-07-15 |
Family
ID=63130500
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810187253.2A Active CN108416199B (zh) | 2018-03-07 | 2018-03-07 | 一种应用的用户权限控制方法、装置及服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108416199B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109669864A (zh) * | 2018-12-05 | 2019-04-23 | 郑州云海信息技术有限公司 | 一种基于测试管理的权限控制方法及装置 |
CN109800561B (zh) * | 2018-12-29 | 2021-10-22 | 360企业安全技术(珠海)有限公司 | 驱动权限控制方法、客户端、系统及存储介质 |
CN112347442B (zh) * | 2020-11-30 | 2023-03-21 | 四川长虹电器股份有限公司 | 用户权限的验证方法及装置 |
CN112364338B (zh) * | 2020-11-30 | 2024-04-09 | 杭州安恒信息技术股份有限公司 | 一种微服务框架的管理方法、装置、电子装置和存储介质 |
CN114518924B (zh) * | 2022-01-29 | 2024-02-02 | 苏州达家迎信息技术有限公司 | 移动客户端的页面展示方法、装置、设备及存储介质 |
CN115659406B (zh) * | 2022-12-09 | 2023-04-28 | 平安银行股份有限公司 | 一种数据访问方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104599111A (zh) * | 2015-02-11 | 2015-05-06 | 中国农业银行股份有限公司 | 一种业务管理方法及装置 |
CN106681734A (zh) * | 2016-12-30 | 2017-05-17 | 广州华多网络科技有限公司 | 功能接口调用响应方法、装置 |
CN107748849A (zh) * | 2017-10-25 | 2018-03-02 | 郑州云海信息技术有限公司 | 一种基于网络文件系统的权限控制方法及系统 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103996000A (zh) * | 2014-05-16 | 2014-08-20 | 深圳市东信时代信息技术有限公司 | 权限管理系统及方法 |
US9619631B1 (en) * | 2014-06-11 | 2017-04-11 | Ansible, Inc. | Role-based permissions for accessing computing resources |
CN104090770A (zh) * | 2014-07-22 | 2014-10-08 | 中国地质大学(北京) | 软件开发中基于用户权限配置系统功能的方法 |
CN104360846A (zh) * | 2014-10-27 | 2015-02-18 | 江西博微新技术有限公司 | 基于OSGi的Web应用开发平台权限管理自适应设计方法 |
CN105760192B (zh) * | 2016-02-03 | 2019-01-11 | 北京元心科技有限公司 | 系统服务端业务模块的注册方法及装置 |
CN105577703B (zh) * | 2016-03-18 | 2019-01-25 | 山东省计算中心(国家超级计算济南中心) | 大数据警务云系统的用户权限管理方法 |
CN107025411B (zh) * | 2017-03-22 | 2019-11-26 | 红有软件股份有限公司 | 一种细粒度的数据权限动态控制的系统及方法 |
CN107193667B (zh) * | 2017-04-25 | 2021-03-09 | 北京小米移动软件有限公司 | 网页权限的更新方法及装置 |
CN107273138A (zh) * | 2017-07-04 | 2017-10-20 | 杭州铜板街互联网金融信息服务有限公司 | 基于Android业务模块间交互的解耦方法和系统 |
-
2018
- 2018-03-07 CN CN201810187253.2A patent/CN108416199B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104599111A (zh) * | 2015-02-11 | 2015-05-06 | 中国农业银行股份有限公司 | 一种业务管理方法及装置 |
CN106681734A (zh) * | 2016-12-30 | 2017-05-17 | 广州华多网络科技有限公司 | 功能接口调用响应方法、装置 |
CN107748849A (zh) * | 2017-10-25 | 2018-03-02 | 郑州云海信息技术有限公司 | 一种基于网络文件系统的权限控制方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN108416199A (zh) | 2018-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108416199B (zh) | 一种应用的用户权限控制方法、装置及服务器 | |
CN110221872B (zh) | 页面跳转方法、装置、电子设备和存储介质 | |
US11099964B2 (en) | Framework actuator integration | |
US8639814B2 (en) | Electronic apparatus, virtual machine providing apparatus, and method of using virtual machine service | |
CN110505162B (zh) | 消息传输方法、装置及电子设备 | |
US11757937B2 (en) | Enabling webapp security through containerization | |
CN108829838B (zh) | 一种账户信息批量处理方法及服务器 | |
CN109062619B (zh) | 第三方存储设备统一管理方法、系统、装置及存储介质 | |
US20120131135A1 (en) | Nonconforming web service policy functions | |
CN112653618A (zh) | 微服务应用api端点的网关注册方法及装置 | |
CN113239377A (zh) | 权限控制方法、装置、设备以及存储介质 | |
US10114779B2 (en) | Isolating a redirected USB device to a set of applications | |
JPWO2015049825A1 (ja) | 端末認証登録システム、端末認証登録方法およびプログラム | |
CN112395107A (zh) | 税控设备控制的方法、装置、存储介质及电子设备 | |
CN111586177B (zh) | 集群会话防丢失方法及系统 | |
CN108289080B (zh) | 一种访问文件系统的方法、装置和系统 | |
CN111753270A (zh) | 应用程序登录验证方法、装置、设备和存储介质 | |
CN110442636B (zh) | 一种数据的读写方法、装置及数据读写设备 | |
CN111752964A (zh) | 基于数据接口的数据处理方法及装置 | |
CN116010347A (zh) | 资源更新方法、装置、系统、电子设备及存储介质 | |
CN108363614B (zh) | 一种应用的业务模块管理方法、装置及服务器 | |
US11784996B2 (en) | Runtime credential requirement identification for incident response | |
US11010346B2 (en) | Methods and apparatus for managing access to file content | |
US20130290830A1 (en) | System and method for managing a viewstate of a web application | |
CN113010365A (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 |