CN110457629A - 权限处理、权限控制方法及装置 - Google Patents

权限处理、权限控制方法及装置 Download PDF

Info

Publication number
CN110457629A
CN110457629A CN201910655115.7A CN201910655115A CN110457629A CN 110457629 A CN110457629 A CN 110457629A CN 201910655115 A CN201910655115 A CN 201910655115A CN 110457629 A CN110457629 A CN 110457629A
Authority
CN
China
Prior art keywords
role
information
function
target
relationship
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.)
Pending
Application number
CN201910655115.7A
Other languages
English (en)
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.)
Koubei Shanghai Information Technology Co Ltd
Original Assignee
Koubei Shanghai Information Technology 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 Koubei Shanghai Information Technology Co Ltd filed Critical Koubei Shanghai Information Technology Co Ltd
Priority to CN201910655115.7A priority Critical patent/CN110457629A/zh
Publication of CN110457629A publication Critical patent/CN110457629A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication

Abstract

本申请公开了一种权限处理方法,包括:为目标用户选取目标角色信息;建立所述目标用户与所述目标角色信息之间的目标用户角色对应关系;获得角色信息与功能点信息之间的角色功能对应关系,所述角色信息用于表示具有相同权限的用户的分类信息,所述功能点信息用于表示使用业务功能的权限;根据所述目标用户角色对应关系和所述角色功能对应关系,获得所述目标用户使用业务功能的权限。采用所述方法,提供权限粒度更为精细的权限控制。

Description

权限处理、权限控制方法及装置
技术领域
本申请涉及数据处理技术领域,具体涉及权限处理方法及装置。本申请还涉及一种权限控制方法及装置。
背景技术
随着互联网技术的发展,通过互联网进行服务订阅越来越普遍。以服务订阅方式提供服务的服务端系统为服务订阅系统,一般采用JAVA语言构建。服务订阅系统往往涉及多方用户,例如,服务订阅系统涉及订阅服务的订阅方,提供服务的服务提供方、配送方、进行系统管理的管理员以及维护系统运营的运营者等。因此,如何保证JAVA构建系统中的每种用户能够正常使用系统中的各项功能,同时又不会逾越权限而访问到未授权内容就显得非常重要。
现有技术中,针对java构建的系统的权限控制方式有以下几种:1、在拦截器中根据用户身份信息决定是否允许访问,存在控制粒度粗放的问题,不适用权限粒度精细控制场景,例如难以适用针对管理员用户开放全部权限,而只允许普通用户查看受限内容。2、采用Apache Shiro框架提供的认证、授权、加密和会话管理功能。由于Apache Shiro框架中涉及的概念繁多,配置过程繁琐,因此导致使用成本非常高。3、采用Spring Security安全框架,此方式基于Spring AOP和Servlet过滤器,对系统的侵入性较高,并且配置过程一般以字符串形式定义,容易出错。
因此,如何提供灵活而精细的权限处理方式,以提供精细粒度的权限控制,是需要解决的问题。
发明内容
本申请提供的权限处理方法、权限控制方法,提供权限粒度更为精细的权限控制,使得能够针对不同角色的用户开放对应的权限,同时禁止各用户逾越权限访问未授权内容。
本申请提供一种权限处理方法,包括:
为目标用户选取目标角色信息;
建立所述目标用户与所述目标角色信息之间的目标用户角色对应关系;
获得角色信息与功能点信息之间的角色功能对应关系,所述角色信息用于表示具有相同权限的用户的分类信息,所述功能点信息用于表示使用业务功能的权限;
根据所述目标用户角色对应关系和所述角色功能对应关系,获得所述目标用户使用业务功能的权限。
可选的,还包括:获得角色信息;获得多个功能点信息;建立所述角色信息与所述多个功能点信息中的一个或多个功能点信息之间的角色功能对应关系;
所述为目标用户选取目标角色信息,包括:从建立了角色功能对应关系的角色信息中为目标用户选取目标角色信息。
可选的,还包括:
获得增加的功能点信息,在所述角色功能对应关系中增加所述角色信息与所述增加的功能点信息之间的对应关系,获得更新后的角色功能对应关系;或者,在所述角色功能对应关系中删除所述角色信息与所述功能点信息之间的对应关系,获得更新后的角色功能对应关系;
根据所述目标用户角色对应关系和所述更新后的角色功能对应关系,获得所述目标用户使用业务功能的权限。
可选的,所述功能点信息,为枚举值。
可选的,所述功能点信息,为针对接口生成的一个或多个功能点信息;其中,所述接口为用于访问业务服务功能的服务接口。
可选的,还包括:针对一个接口,采用JAVA注解方式声明一个或多个功能点信息。
可选的,还包括:将一个功能点信息在多个接口中采用JAVA注解方式进行声明。
可选的,还包括:获得增加的角色信息,针对所述增加的角色信息,获得增加的角色功能对应关系;
使用所述增加的角色功能对应关系,更新所述目标用户角色对应关系;获得更新后的目标用户角色对应关系;
根据所述更新后的目标用户角色对应关系,获得所述目标用户使用业务功能的权限。
可选的,所述目标用户对应一个角色信息;一个角色信息对应一个或多个功能点信息;一个功能点信息对应一个或多个角色信息。
可选的,所述为目标用户选取目标角色信息,包括:为所述目标用户选取超级管理员角色信息,将所述超级管理员角色信息作为所述目标角色信息;
所述建立所述目标用户与所述目标角色信息之间的目标用户角色对应关系,包括:建立所述目标用户与所述超级管理员角色信息之间的对应关系,作为所述目标用户角色对应关系;
所述获得角色信息与功能点信息之间的角色功能对应关系,包括:获得增加角色或者删除角色的角色管理功能点信息,建立所述超级管理员角色信息与所述角色管理功能点信息之间的对应关系,作为所述角色功能对应关系;
所述根据所述目标用户角色对应关系和所述角色功能对应关系,获得所述目标用户使用业务功能的权限,包括:针对所述目标用户获得所述超级管理员角色信息对应的所述角色管理功能点信息,接收所述目标用户的输入信息,根据所述输入信息,增加角色或者删除角色。
本申请还提供一种权限控制方法,包括:
获得目标用户针对目标接口的访问请求;其中,所述目标接口为用于访问目标业务服务功能的服务接口;
获得所述目标接口的多个功能点信息;所述功能点信息用于表示使用业务功能的权限;
根据所述目标接口的多个功能点信息,针对所述访问请求对应的访问行为进行权限控制。
可选的,还包括:获得所述目标接口的接口类型;
所述根据所述多个功能点信息,针对所述访问请求对应的访问行为进行权限控制,包括:根据所述目标接口的接口类型以及所述目标接口的多个功能点信息,针对所述访问请求对应的访问行为进行权限控制。
可选的,所述根据所述目标接口的接口类型以及所述目标接口的多个功能点信息,针对所述访问请求对应的访问行为进行权限控制,包括:
如果所述目标接口的接口类型为公共接口,则允许执行所述访问请求对应的访问行为;
如果所述目标接口的接口类型为非公共接口,则根据所述访问请求以及所述目标接口的多个功能点信息,针对所述访问请求对应的访问行为进行权限控制。
可选的,所述根据所述访问请求以及所述目标接口的多个功能点信息,针对所述访问请求对应的访问行为进行权限控制,包括:
如果从所述访问请求中未成功获得cookie信息,则提示所述目标用户进行登录认证;
如果从所述访问请求中成功获得cookie信息,则根据所述cookie信息以及所述目标接口的多个功能点信息,针对所述访问请求对应的访问行为进行权限控制。
可选的,所述根据所述cookie信息以及所述目标接口的多个功能点信息,针对所述访问请求对应的访问行为进行权限控制,包括:
根据所述cookie信息查找会话信息;
如果未成功获得会话信息,则提示所述目标用户进行登录认证;
如果成功获得会话信息,则获得所述目标用户对应的角色信息,根据所述角色信息以及所述目标接口的多个功能点信息,针对所述访问请求对应的访问行为进行权限控制;其中,所述角色信息用于表示具有相同权限的用户的分类信息。
可选的,还包括:如果未成功获得所述目标用户对应的角色信息,则提示所述目标用户进行登录认证。
可选的,所述根据所述角色信息以及所述目标接口的多个功能点信息,针对所述访问请求对应的访问行为进行权限控制,包括:
获得所述角色信息对应的功能点信息;
如果所述角色信息对应的任意功能点信息匹配到所述目标接口的多个功能点信息中的至少一个功能点信息,则允许执行所述访问请求对应的访问行为;
否则,禁止所述访问请求对应的访问行为。
可选的,所述目标接口的多个功能点信息,为枚举值。
可选的,所述目标接口的多个功能点信息,为采用JAVA注解方式针对所述目标接口生成的功能点信息。
本申请还提供一种权限处理方法,包括:
为目标用户选取目标角色信息,所述目标用户为菜品订阅系统的注册用户;
建立所述目标用户与所述目标角色信息之间的目标用户角色对应关系;
获得角色信息与功能点信息之间的角色功能对应关系,所述角色信息用于表示具有相同权限的用户的分类信息,所述功能点信息用于表示使用业务功能的权限,所述业务功能为所述菜品订阅系统通过接口提供的业务功能;
根据所述目标用户角色对应关系和所述角色功能对应关系,获得所述目标用户使用业务功能的权限。
可选的,还包括:
获得所述菜品订阅系统的角色信息;
获得所述菜品订阅系统提供的多个功能点信息;
建立所述角色信息与所述多个功能点信息中的一个或多个功能点信息之间的角色功能对应关系;
所述为目标用户选取目标角色信息,包括:从建立了角色功能对应关系的角色信息中为目标用户选取目标角色信息。
可选的,还包括:针对所述菜品订阅系统的一个接口,采用JAVA注解方式声明一个或多个功能点信息。
可选的,还包括:获得所述目标用户针对目标接口的访问请求;所述目标接口为所述菜品订阅系统的提供多个功能点信息的接口;
如果所述目标接口的接口类型为公共接口,则允许执行所述访问请求对应的访问行为。
可选的,还包括:如果所述目标接口的接口类型为非公共接口,则根据所述目标用户角色对应关系和所述角色功能对应关系,获得所述目标用户使用业务功能的权限。
可选的,所述根据所述目标用户角色对应关系和所述角色功能对应关系,获得所述目标用户使用业务功能的权限,包括:
如果从所述访问请求中成功获得cookie信息,并且根据所述cookie信息成功获得会话信息,则进行下述处理:
根据所述目标用户角色对应关系,获得所述目标用户对应的角色信息;
根据所述角色信息以及所述角色功能对应关系,获得所述目标用户能访问的功能点信息;
获得所述目标接口的多个功能点信息;
如果所述目标用户能访问的功能点信息中的任意功能点信息匹配到所述目标接口的多个功能点信息中的至少一个功能点信息,则允许执行所述访问请求对应的访问行为;否则,禁止所述访问请求对应的访问行为。
本申请还提供一种权限处理装置,包括:
角色选取单元,用于为目标用户选取目标角色信息;
用户角色关联单元,用于建立所述目标用户与所述目标角色信息之间的目标用户角色对应关系;
角色功能关联单元,用于获得角色信息与功能点信息之间的角色功能对应关系,所述角色信息用于表示具有相同权限的用户的分类信息,所述功能点信息用于表示使用业务功能的权限;
权限管理单元,用于根据所述目标用户角色对应关系和所述角色功能对应关系,获得所述目标用户使用业务功能的权限。
本申请还提供一种权限控制装置,包括:
接口访问单元,用于获得目标用户针对目标接口的访问请求;其中,所述目标接口为用于访问目标业务功能的服务接口;
接口功能点获得单元,用于获得所述目标接口的多个功能点信息;所述功能点信息用于表示使用业务功能的权限;
权限控制单元,用于根据所述目标接口的多个功能点信息,针对所述访问请求对应的访问行为进行权限控制。
本申请还提供一种权限处理装置,包括:
角色选取单元,用于为目标用户选取目标角色信息,所述目标用户为菜品订阅系统的注册用户;
用户角色关联单元,用于建立所述目标用户与所述目标角色信息之间的目标用户角色对应关系;
角色功能关联单元,用于获得角色信息与功能点信息之间的角色功能对应关系,所述角色信息用于表示具有相同权限的用户的分类信息,所述功能点信息用于表示使用业务功能的权限,所述业务功能为所述菜品订阅系统通过接口提供的业务功能;
权限管理单元,用于根据所述目标用户角色对应关系和所述角色功能对应关系,获得所述目标用户使用业务功能的权限。
与现有技术相比,本申请具有以下优点:
本申请提供的一种权限处理方法及装置,通过建立目标用户与目标角色信息之间的目标用户角色对应关系;获得角色信息与功能点信息之间的角色功能对应关系,根据所述目标用户角色对应关系和所述角色功能对应关系,获得所述目标用户使用业务功能的权限,从而能够针对不同角色的用户开放对应的权限,同时禁止各用户逾越权限访问未授权内容,按照角色控制用户的权限,实现了更为灵活的权限控制方式。
本申请提供的一种权限控制方法及装置,通过获得目标用户针对目标接口的访问请求;获得所述目标接口的多个功能点信息;根据所述目标接口的多个功能点信息,针对所述访问请求对应的访问行为进行权限控制。功能点信息的粒度更为精细,因而按照功能点信息控制业务功能的使用,实现了精细粒度权限控制。
本申请提供的另一种权限处理方法及装置,通过为菜品订阅系统的目标用户选取目标角色信息,建立所述目标用户与所述目标角色信息之间的目标用户角色对应关系;获得角色信息与功能点信息之间的角色功能对应关系,根据所述目标用户角色对应关系和所述角色功能对应关系,获得所述目标用户使用业务功能的权限。从而能够针对不同角色的用户开放对应的权限,同时禁止各用户逾越权限访问未授权内容。按照角色控制用户的权限,实现了菜品订阅系统的更为灵活的权限控制方式。
附图说明
图1是本申请第一实施例提供的权限处理方法的系统环境示意图;
图2是本申请第一实施例提供的一种权限处理方法的处理流程图;
图3是本申请第一实施例提供的一种用户角色对应关系以及角色功能点对应关系示意图;
图4是本申请第二实施例提供的一种权限控制方法的处理流程图;
图5是本申请第二实施例提供的一种权限控制流程图;
图6是本申请第三实施例提供的一种权限处理方法的处理流程图;
图7是本申请第四实施例提供的一种权限处理装置示意图;
图8是本申请第四实施例提供的一种权限控制装置示意图;
图9是本申请提供的电子设备示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
本申请提供一种权限处理方法、装置及电子设备。本申请还涉及一种权限控制方法、装置及电子设备。本申请还涉及另一种权限处理方法、装置及电子设备。在下面的实施例中逐一进行详细说明。
为便于理解,首先给出部署所述权限处理方法的服务订阅系统的系统环境。菜品订阅系统或者外卖订阅系统作为服务订阅系统的特例,其系统环境类似所述服务订阅系统的环境。
请参考图1,图中,服务订阅系统101,通过服务接口提供业务功能。所谓业务功能是指对业务数据进行处理的处理逻辑。使用服务订阅系统提供的业务功能的用户包括多种角色的用户,例如订阅服务的订阅方、提供服务的服务提供方、配送方、进行系统管理的管理员以及维护系统运营的运营者等。不同角色的用户通过对应的计算设备访问服务接口,根据各自的权限使用权限允许的业务功能,从而访问对应的授权内容。以菜品订阅系统为例。菜品订阅系统一般涉及多种用户,例如,订阅菜品的订阅方、提供菜品的外卖提供方、提供菜品配送的配送方、进行系统管理的管理者以及维护系统运营的运营者等。菜品订阅系统通过服务接口将业务功能按照各角色的权限开放给各角色的用户,所述各角色的用户通过对应的计算设备访问服务接口,针对菜品订阅系统的业务数据进行访问操作。不同角色的用户具有不同权限,例如,管理员具有全部权限,普通预约角色的用户具有受限的权限。外卖订阅系统类似菜品订阅系统。
图中,客户端102为订阅方的计算设备,用于按照订阅方的角色权限访问服务订阅系统的服务接口提供的业务功能,例如,配置服务订阅计划、修改服务订阅数据。客户端可以是目标用户信息对应的终端,能够接收目标用户的输入信息,如配置订餐计划数据。再如,客户端还可以指客户端小程序或者客户端H5网页或者客户端APP。再如,注册用户。
图中,服务提供方的计算设备103,用于使用服务订阅系统的服务接口提供的业务功能,访问服务订阅系统的业务数据。例如,接收订单,根据所述订单包含的服务数据提供对应的服务。再如,配置可订阅的服务数据。再如,管理服务数据。再如,创建提供服务的店铺或者修改提供服务的店铺。以服务提供方的计算设备为外卖提供方的计算设备为例。外卖提供方通过外卖提供方的计算设备接收订单,根据所述订单包含的套餐信息提供对应的外卖服务。再如,配置可以提供的外卖套餐。再如,外卖提供方通过对应的计算设备管理服务数据,将所述外卖套餐配置套餐标签并发送给外卖订阅系统。再如,从外卖订阅系统的套餐管理模块预设的标签中选择出与套餐信息匹配的标签标注到所述套餐信息上。所谓外卖,是指提供出外服务或者外送商品,例如,送餐服务。
图中,配送方的计算设备104,用于通过服务订阅系统的服务接口进行与配送数据相关的操作。例如,获得配送资源的调度数据,根据所述调度数据提供配送服务。再如,将调度数据中包含的订单信息提示给配送员。再如,根据调度数据为配送员提供前往服务提供方的配送出发地址的导航服务。
图中,运营者计算设备105,用于通过服务订阅系统的服务接口进行运营操作。例如,发布运营公告。再如,向服务提供方的计算设备推送服务订单。
图中,管理者计算设备106,用于通过服务订阅系统的服务接口进行管理操作。例如,进行用户管理。
本申请第一实施例提供一种权限处理方法,可部署于服务订阅系统,实现按照角色进行权限管理。所述方法可以用于多种业务领域,例如用于外卖订阅系统。当然,所述方法也可以用于订阅系统之外的其他需要精细粒度权限控制的服务系统。
以下结合图2和图3对第一实施例提供的一种权限处理方法进行说明。图2所示的权限处理方法,包括:步骤S201至步骤S204。
步骤S201,为目标用户选取目标角色信息。
本实施例中,用户可以是服务订阅系统的注册账号,包括下述至少一种属性信息:用户标识信息、所属角色信息、联系账号信息、头像标识信息。角色为用户集合的划分,也就是说,可以为一组具有相同功能权限的用户创建一种角色。每个用户只能属于一种角色,每种角色可以包含多个用户。例如,一个用户为骑手,则所述用户拥有骑手对应的权限,不能同时拥有商户对应的权限。再如,如果要针对用户A既分配骑手权限,同时又分配商户权限,则创建既具有骑手权限同时又具有商户权限的骑手商户角色,将所述骑手商户角色赋予用户A。
所述为目标用户选取目标角色信息,包括:从服务订阅系统中预设的角色信息中选取目标角色信息,所述目标角色信息表示所述目标用户所属的目标角色。实际应用中,是针对目标用户选取一个角色信息,作为目标角色信息。即,所述目标用户对应一个角色信息;一个角色信息对应一个或多个功能点信息;一个功能点信息对应一个或多个角色信息。其中,所述预设的角色信息,可以是下述任一种角色信息:超级管理员角色、商家角色、骑手角色、普通订阅用户角色。
例如,针对目标用户A为骑手,则将“骑手角色”作为所属的目标角色,为目标用户A选择“骑手角色”的角色信息。
本实施例的一个实施方式中,所述服务订阅系统提供了固定角色和可以动态配置的非固定角色。所述固定角色为系统运行期间不能进行增加、删除或改变的角色,可以包括下述任一角色:超级管理员角色、默认用户角色。非固定角色可以由超级管理员或者其他具有相应权限的用户进行动态增加、删除或改变。所述预设的角色信息可以为固定角色的角色信息或者非固定角色的角色信息。其中,所谓增加,包括增加对应的功能点信息;所谓删除,包括删除对应的功能点信息中的部分功能点信息;所谓改变,包括改变对应的功能点信息。
步骤S202,建立所述目标用户与所述目标角色信息之间的目标用户角色对应关系。
本实施例中,建立所述目标用户与所述目标角色信息之间的目标用户角色对应关系。以便通过目标角色信息将目标用户和所述目标角色信息对应的功能点信息关联起来。当目标角色信息可以动态配置时,调整目标角色信息对应的功能点信息就能针对目标用户的权限进行调整。当目标角色信息不能动态配置时,通过改变目标用户对应的目标角色,也能针对目标用户的权限进行调整。因此,本实施例提供的权限处理方法,角色权限粒度细,能够动态扩展,因此,能够提高调整用户权限的灵活度;并且,配置过程简单,因此能避免由于配置导致的权限控制错误。
步骤S203,获得角色信息与功能点信息之间的角色功能对应关系,所述角色信息用于表示具有相同权限的用户的分类信息,所述功能点信息用于表示使用业务功能的权限。
本实施例中,角色信息和功能点信息可以任意绑定。具体包括下述处理:获得角色信息;获得多个功能点信息;建立所述角色信息与所述多个功能点信息中的一个或多个功能点信息之间的角色功能对应关系。相应的,步骤S201中为目标用户选取目标角色信息时,为从建立了角色功能对应关系的角色信息中为目标用户选取目标角色信息。
本实施例的一个实施方式中,所述功能点信息,为针对接口生成的一个或多个功能点信息;其中,所述接口为用于访问业务服务功能的服务接口。实际应用中,接口可以是能访问的url(Uniform Resource Locator,统一资源定位符)。例如,URL指向服务订阅系统的服务器端的目标文件,访问URL接口时可以返回json格式或txt格式或xml格式的返回值。再如,http://host.com/user/detail/1为一个接口,通过所述接口可以获取id=1的用户详情。由于针对一个接口能配置多个功能点信息,因此可以做到权限粒度精细控制,而现有的权限控制的权限粒度则比较粗放。
本实施例的一个实施方式中,采用下述处理声明功能点信息:针对一个接口,采用JAVA注解方式(Annotation)声明一个或多个功能点信息。采用注解方式而避免通过字符串形式配置功能点信息,减少了使用字符串可能导致的潜在错误,例如,避免配置错误。优选的,所述功能点信息为枚举值。将功能点信息定义为枚举值,通过JAVA注解的方式进行配置,高效且不容易出错。另外,由于服务订阅系统提供的功能点由代码决定,因此开发完成的服务订阅系统的功能点是固定枚举值,但是在后续针对服务订阅系统进行迭代开发新增功能点时,可以针对接口增加新的功能点信息的枚举值,降低了代码的维护难度。
本实施例的一个实施方式中,还包括:将一个功能点信息在多个接口中采用JAVA注解方式进行声明。当然,一个接口也可以对应多个不同的功能点信息。实际应用中,当目标角色信息表示的目标角色具备了所述接口的任意功能点信息,则属于所述目标角色的目标用户就能访问所述接口。接口和功能点信息可以为多对多的关系;另外,功能点信息和角色信息也可以为多对多的关系,这使得权限控制的粒度就更细,并且更灵活,尤其适用于涉及多角色的系统,例如,服务订阅系统、外卖订阅系统。
以服务订阅系统C为例。C提供以下三个功能点:店铺巡查SHOP_VIEW,查看自家店铺资料SHOP_MINE,查看自己的个人资料USER_MINE。C中预设的角色对应的角色信息包括:巡视监督(对应SHOP_VIEW,USER_MINE两个功能点),普通商家(对应SHOP_MINE,USER_MINE两个功能点),普通用户(对应USER_MINE一个功能点)。C提供的接口包括:接口1和接口2,接口1配置了两个功能点SHOP_VIEW和SHOP_MINE;接口2,接口2配置了一个功能点USER_MINE。C中用户包括:Z,所属角色为巡视监督;L,所属角色为普通商家;W,所属角色为普通用户。权限处理的结果为:Z可以访问接口1和接口2;L可以访问接口1和接口2;W只能访问接口2。因此,Z访问接口1时依据SHOP_VIEW功能点,和L访问接口1时依据SHOP_MINE功能点,属于目标角色的用户可以依据目标角色对应的不同的功能点访问接口,并且,对于接口的访问权限控制不要求目标角色具备接口上声明的所有功能点。因此,权限控制粒度是比按照接口粒度控制权限更为精细,权限控制的灵活度更高。
本实施例中,在用于对用户进行权限校验的拦截器中根据用户的身份决定是否允许访问。实际应用中,接收到用户的访问请求,在开始处理具体业务逻辑之前,进行一系列的校验或者准备工作,可以通过多个拦截器依次执行这些校验或者准备工作,再转入执行业务逻辑。由于用户的权限校验是统一处理,因此不需要在具体的业务逻辑中进行用户权限校验,对系统的侵入性低。而现有的权限控制中,需要在业务逻辑层依次校验,权限控制的逻辑对业务逻辑的侵入性较高。
本实施例中,超级管理员角色具有将功能点信息对应的权限赋予角色信息的权限。即,可以由超级管理员建立所述角色功能对应关系。一个具体实施方式中包括下述处理:为所述目标用户选取超级管理员角色信息,将所述超级管理员角色信息作为所述目标角色信息;
建立所述目标用户与所述超级管理员角色信息之间的对应关系,作为所述目标用户角色对应关系;
获得增加角色或者删除角色的角色管理功能点信息,建立所述超级管理员角色信息与所述角色管理功能点信息之间的对应关系,作为所述角色功能对应关系;
针对所述目标用户获得所述超级管理员角色信息对应的所述角色管理功能点信息,接收所述目标用户的输入信息,根据所述输入信息,增加角色或者删除角色。
步骤S204,根据所述目标用户角色对应关系和所述角色功能对应关系,获得所述目标用户使用业务功能的权限。
本实施例中,可以动态配置角色以及角色对应的角色信息,也可以动态配置角色信息对应的功能点信息。由于每个用户对应于一个角色,因此,用户的权限可以动态调整。这使得用户的访问服务订阅系统的权限粒度更精细,权限控制准确度更高,并且避免了繁琐的配置流程。具体包括下述处理:
获得增加的功能点信息,在所述角色功能对应关系中增加所述角色信息与所述增加的功能点信息之间的对应关系,获得更新后的角色功能对应关系;或者,在所述角色功能对应关系中删除所述角色信息与所述功能点信息之间的对应关系,获得更新后的角色功能对应关系;
根据所述目标用户角色对应关系和所述更新后的角色功能对应关系,获得所述目标用户使用业务功能的权限。
本实施例的一个实施方式中,包括:如果用户与第一角色信息对应,解除用户与第一角色信息的对应关系;创建用于表示第二角色的第二角色信息,建立所述用户与第二角色信息的对应关系。则所述用户与所述第二角色信息对应的功能点信息具备了关联关系。
本实施例中,还包括:
获得增加的角色信息,针对所述增加的角色信息,获得增加的角色功能对应关系;
使用所述增加的角色功能对应关系,更新所述目标用户角色对应关系;获得更新后的目标用户角色对应关系;
根据所述更新后的目标用户角色对应关系,获得所述目标用户使用业务功能的权限。
本实施例中,所述目标用户对应一个角色信息;一个角色信息对应一个或多个功能点信息;一个功能点信息对应一个或多个角色信息。
请参考图3,图中示出了一种用户角色对应关系以及角色功能点对应关系示意图,包括:
用户301,用于表示需要访问服务订阅系统的注册用户;
角色302,用于表示服务订阅系统提供的预设角色;
功能点303,用于表示服务订阅系统提供的各功能点。
其中,用户301中的每个用户对应一个角色,不同用户可以对应同一个角色;角色302中的每个角色可以对应多个功能点;功能点303中的每个功能点可以对应多个角色。至此,对本实施例提供的权限处理方法进行了详细说明,所述方法通过根据目标用户角色对应关系和角色功能对应关系,获得目标用户使用业务功能的权限,从而能够针对不同角色的用户开放对应的权限,同时禁止各用户逾越权限访问未授权内容,按照角色控制用户的权限,实现了更为灵活的权限控制方式。
以上述实施例为基础,本申请第二实施例提供一种权限控制方法。
以下结合图4和图5对第二实施例提供的权限控制方法进行说明,相关部分请参见上述实施例对应部分的说明。
图4所示的权限控制方法,包括:步骤S401至步骤S403。
步骤S401,获得目标用户针对目标接口的访问请求;其中,所述目标接口为用于访问目标业务服务功能的服务接口。
本实施例中,接收到目标用户的访问请求,在开始处理具体业务逻辑之前,进行一系列的校验或者准备工作,具体可以通过多个拦截器依次执行这些校验或者准备工作,当拦截器校验通过后再转入执行业务逻辑。由于用户的权限校验是统一处理,因此不需要在具体的业务逻辑中进行用户权限校验,对系统的侵入性低。而现有的权限控制中,需要在业务逻辑层依次校验,权限控制的逻辑对业务逻辑的侵入性较高。
本实施例中,接口可以是能访问的url(Uniform Resource Locator,统一资源定位符)。例如,http://host.com/user/detail/1为一个接口,通过所述接口可以获取id=1的用户详情。所述获得目标用户针对目标接口的访问请求,可以是获得目标用户对应的计算设备发送的针对特定URL的访问请求。其中,所述目标接口上声明了一个或多个功能点信息。
步骤S402,获得所述目标接口的多个功能点信息;所述功能点信息用于表示使用业务功能的权限。
本实施例中所述目标接口的多个功能点信息,为采用JAVA注解方式(Annotation)针对所述目标接口生成的功能点信息。采用注解方式而避免通过字符串形式配置功能点信息,减少了使用字符串可能导致的潜在错误,例如,避免配置错误。优选的,所述目标接口的多个功能点信息,为枚举值。将功能点信息定义为枚举值,通过JAVA注解的方式进行配置,高效且不容易出错。另外,由于服务订阅系统提供的功能点由代码决定,因此开发完成的服务订阅系统的功能点是固定枚举值,但是在后续针对服务订阅系统进行迭代开发新增功能点时,可以针对接口增加新的功能点信息的枚举值,降低了代码的维护难度。
本实施例中,还包括:将一个功能点信息在多个接口中采用JAVA注解方式进行声明。当然,一个接口也可以对应多个不同的功能点信息。即,接口和功能点信息可以为多对多的关系。实际应用中,目标角色信息表示的目标角色只要具备了所述接口的任意功能点信息,则属于所述目标角色的目标用户就能访问所述接口。
步骤S403,根据所述目标接口的多个功能点信息,针对所述访问请求对应的访问行为进行权限控制。
本实施例中,还包括:获得所述目标接口的接口类型;以便后续:根据所述目标接口的接口类型以及所述目标接口的多个功能点信息,针对所述访问请求对应的访问行为进行权限控制。具体的,如果所述目标接口的接口类型为公共接口,则允许执行所述访问请求对应的访问行为;如果所述目标接口的接口类型为非公共接口,则根据所述访问请求以及所述目标接口的多个功能点信息,针对所述访问请求对应的访问行为进行权限控制。
本实施例的一个实施方式中,所述目标接口的接口类型为非公共接口,相应的,所述根据所述访问请求以及所述目标接口的多个功能点信息,针对所述访问请求对应的访问行为进行权限控制,包括:
如果从所述访问请求中未成功获得cookie信息,则提示所述目标用户进行登录认证;
如果从所述访问请求中成功获得cookie信息,则根据所述cookie信息以及所述目标接口的多个功能点信息,针对所述访问请求对应的访问行为进行权限控制。
本实施例的一个实施方式中,所述根据所述cookie信息以及所述目标接口的多个功能点信息,针对所述访问请求对应的访问行为进行权限控制,包括:
根据所述cookie信息查找会话信息;
如果未成功获得会话信息,则提示所述目标用户进行登录认证;
如果成功获得会话信息,则获得所述目标用户对应的角色信息,根据所述角色信息以及所述目标接口的多个功能点信息,针对所述访问请求对应的访问行为进行权限控制;其中,所述角色信息用于表示具有相同权限的用户的分类信息。进一步,如果未成功获得所述目标用户对应的角色信息,则提示所述目标用户进行登录认证。
具体通过下述处理针对所述访问请求对应的访问行为进行权限控制:
获得所述角色信息对应的功能点信息;
如果所述角色信息对应的任意功能点信息匹配到所述目标接口的多个功能点信息中的至少一个功能点信息,则允许执行所述访问请求对应的访问行为;
否则,禁止所述访问请求对应的访问行为。
请参考图5,图中示出了一种权限控制流程,包括:
S501,接收针对目标接口的访问请求。
S502,获取目标接口对应的功能点信息。
S503,判断目标接口是否公共接口。
S504,如果目标接口是公共接口,则允许访问。
S505,如果目标接口非公共接口,则判断访问请求中是否携带Cookie。如果访问请求中未携带Cookie,或者从访问请求中未成功获取到Cookie,则转步骤S510,要求用户登录认证。
S506,如果成功获取到Cookie,则判断是否查找到Session(会话信息)。如果未成功获取到会话信息,则转步骤S510,要求用户登录认证。
S507,如果成功获取到会话信息,则判断是否获取到用户所属角色,所述用户为所述访问请求对应的用户。如果未获取到用户所属角色,则转步骤S510,要求用户登录认证。
S508,如果获取到用户所属角色,则判断角色是否有访问请求对应功能点的权限。如果角色不具备所述功能点的权限,则转入步骤S509。如果角色具备所述功能点的权限,则转入步骤S504,允许访问。
S509,禁止访问。
S510,要求用户登录认证。
以上述实施例为基础,本申请第三实施例提供另一种权限处理方法。
以下结合图6对第三实施例提供的权限处理方法进行说明,相关部分请参见上述实施例对应部分的说明。
图6所示的权限处理方法,包括:步骤S601至步骤S604。
步骤S601,为目标用户选取目标角色信息,所述目标用户为菜品订阅系统的注册用户。
本实施例中,用户可以是菜品订阅系统的注册账号,包括下述至少一种属性信息:用户标识信息、所属角色信息、联系账号信息、头像标识信息。角色为用户集合的划分,也就是说,可以为一组具有相同功能权限的用户创建一种角色。每个用户只能属于一种角色,每种角色可以包含多个用户。例如,一个用户为骑手,则所述用户拥有骑手对应的权限,不能同时拥有商户对应的权限。再如,如果要针对用户A既分配骑手权限,同时又分配商户权限,则创建既具有骑手权限同时又具有商户权限的骑手商户角色,将所述骑手商户角色赋予用户A。
所述为目标用户选取目标角色信息,包括:从菜品订阅系统中预设的角色信息中选取目标角色信息,所述目标角色信息表示所述目标用户所属的目标角色。实际应用中,是针对目标用户选取一个角色信息,作为目标角色信息。即,所述目标用户对应一个角色信息;一个角色信息对应一个或多个功能点信息;一个功能点信息对应一个或多个角色信息。其中,所述预设的角色信息,可以是下述任一种角色信息:超级管理员角色、商家角色、骑手角色、普通订阅用户角色。例如,针对目标用户A为骑手,则将“骑手角色”作为所属的目标角色,为目标用户A选择“骑手角色”的角色信息。
本实施例的一个实施方式中,所述菜品订阅系统提供了固定角色和可以动态配置的非固定角色。所述固定角色为系统运行期间不能进行增加、删除或改变的角色,可以包括下述任一角色:超级管理员角色、默认用户角色。非固定角色可以由超级管理员或者其他具有相应权限的用户进行动态增加、删除或改变。所述预设的角色信息可以为固定角色的角色信息或者非固定角色的角色信息。其中,所谓增加,包括增加对应的功能点信息;所谓删除,包括删除对应的功能点信息中的部分功能点信息;所谓改变,包括改变对应的功能点信息。
本实施例中,具体从建立了角色功能对应关系的角色信息中为目标用户选取目标角色信息。其中,通过下述处理建立所述角色功能对应关系:
获得所述菜品订阅系统的角色信息;
获得所述菜品订阅系统提供的多个功能点信息;
建立所述角色信息与所述多个功能点信息中的一个或多个功能点信息之间的角色功能对应关系。
步骤S602,建立所述目标用户与所述目标角色信息之间的目标用户角色对应关系。
本实施例中,建立所述目标用户与所述目标角色信息之间的目标用户角色对应关系。以便通过目标角色信息将目标用户和所述目标角色信息对应的功能点信息关联起来。当目标角色信息可以动态配置时,调整目标角色信息对应的功能点信息就能针对目标用户的权限进行调整。当目标角色信息不能动态配置时,通过改变目标用户对应的目标角色,也能针对目标用户的权限进行调整。因此,本实施例提供的权限处理方法,角色权限粒度细,能够动态扩展,因此,能够提高调整用户权限的灵活度;并且,配置过程简单,因此能避免由于配置导致的权限控制错误。
步骤S603,获得角色信息与功能点信息之间的角色功能对应关系,所述角色信息用于表示具有相同权限的用户的分类信息,所述功能点信息用于表示使用业务功能的权限,所述业务功能为所述菜品订阅系统通过接口提供的业务功能。
本实施例中,角色信息和功能点信息可以任意绑定。具体包括下述处理:获得角色信息;获得多个功能点信息;建立所述角色信息与所述多个功能点信息中的一个或多个功能点信息之间的角色功能对应关系。相应的,步骤S201中为目标用户选取目标角色信息时,为从建立了角色功能对应关系的角色信息中为目标用户选取目标角色信息。
本实施例的一个实施方式中,包括:针对所述菜品订阅系统的一个接口,采用JAVA注解方式声明一个或多个功能点信息。其中,所述接口为用于访问业务服务功能的服务接口。实际应用中,接口可以是能访问的url(Uniform ResourceLocator,统一资源定位符)。例如,URL指向服务订阅系统的服务器端的目标文件,访问URL接口时可以返回json格式或txt格式或xml格式的返回值。再如,http://host.com/user/detail/1为一个接口,通过所述接口可以获取id=1的用户详情。由于针对一个接口能配置多个功能点信息,因此可以做到权限粒度精细控制,而现有的权限控制的权限粒度则比较粗放。采用注解方式而避免通过字符串形式配置功能点信息,减少了使用字符串可能导致的潜在错误,例如,避免配置错误。优选的,所述功能点信息为枚举值。将功能点信息定义为枚举值,通过JAVA注解的方式进行配置,高效且不容易出错。另外,由于菜品订阅系统提供的功能点由代码决定,因此开发完成的菜品订阅系统的功能点是固定枚举值,但是在后续针对菜品订阅系统进行迭代开发新增功能点时,可以针对接口增加新的功能点信息的枚举值,降低了代码的维护难度。
本实施例中,接口和功能点信息可以为多对多的关系;另外,功能点信息和角色信息也可以为多对多的关系,这使得权限控制的粒度就更细,并且更灵活,尤其适用于涉及多角色的菜品订阅系统。
本实施例中,超级管理员角色具有将功能点信息对应的权限赋予角色信息的权限。即,可以由超级管理员建立所述角色功能对应关系。一个具体实施方式中包括下述处理:为所述目标用户选取超级管理员角色信息,将所述超级管理员角色信息作为所述目标角色信息;
建立所述目标用户与所述超级管理员角色信息之间的对应关系,作为所述目标用户角色对应关系;
获得增加角色或者删除角色的角色管理功能点信息,建立所述超级管理员角色信息与所述角色管理功能点信息之间的对应关系,作为所述角色功能对应关系;
针对所述目标用户获得所述超级管理员角色信息对应的所述角色管理功能点信息,接收所述目标用户的输入信息,根据所述输入信息,增加角色或者删除角色。
步骤S604,根据所述目标用户角色对应关系和所述角色功能对应关系,获得所述目标用户使用业务功能的权限。
本实施例中,包括:获得所述目标用户针对目标接口的访问请求;所述目标接口为所述菜品订阅系统的提供多个功能点信息的接口。在开始处理具体业务逻辑之前,进行一系列的校验或者准备工作,具体可以通过多个拦截器依次执行这些校验或者准备工作,当拦截器校验通过后再转入执行业务逻辑。由于用户的权限校验是统一处理,因此不需要在具体的业务逻辑中进行用户权限校验,对系统的侵入性低。而现有的权限控制中,需要在业务逻辑层依次校验,权限控制的逻辑对业务逻辑的侵入性较高。
本实施例中,还包括:获得所述目标接口的接口类型;如果所述目标接口的接口类型为公共接口,则允许执行所述访问请求对应的访问行为。如果所述目标接口的接口类型为非公共接口,则根据所述目标用户角色对应关系和所述角色功能对应关系,获得所述目标用户使用业务功能的权限。。
本实施例中,所述根据所述访问请求以及所述目标接口的多个功能点信息,针对所述访问请求对应的访问行为进行权限控制,包括:
如果从所述访问请求中成功获得cookie信息,并且根据所述cookie信息成功获得会话信息,则进行下述处理:
根据所述目标用户角色对应关系,获得所述目标用户对应的角色信息;
根据所述角色信息以及所述角色功能对应关系,获得所述目标用户能访问的功能点信息;
获得所述目标接口的多个功能点信息;
如果所述目标用户能访问的功能点信息中的任意功能点信息匹配到所述目标接口的多个功能点信息中的至少一个功能点信息,则允许执行所述访问请求对应的访问行为;否则,禁止所述访问请求对应的访问行为。
与第一实施例对应,本申请第四实施例提供一种权限处理装置。以下结合图7对第四实施例提供的装置进行说明。
图7所示的权限处理装置,包括:
角色选取单元701,用于为目标用户选取目标角色信息;
用户角色关联单元702,用于建立所述目标用户与所述目标角色信息之间的目标用户角色对应关系;
角色功能关联单元703,用于获得角色信息与功能点信息之间的角色功能对应关系,所述角色信息用于表示具有相同权限的用户的分类信息,所述功能点信息用于表示使用业务功能的权限;
权限管理单元704,用于根据所述目标用户角色对应关系和所述角色功能对应关系,获得所述目标用户使用业务功能的权限。
可选的,所述装置还包括角色功能关联单元,用于:获得角色信息;获得多个功能点信息;建立所述角色信息与所述多个功能点信息中的一个或多个功能点信息之间的角色功能对应关系;
相应的,所述角色选取单元701,具体用于:从建立了角色功能对应关系的角色信息中为目标用户选取目标角色信息。
可选的,所述装置还包括变更单元,所述变更单元用于:
获得增加的功能点信息,在所述角色功能对应关系中增加所述角色信息与所述增加的功能点信息之间的对应关系,获得更新后的角色功能对应关系;或者,在所述角色功能对应关系中删除所述角色信息与所述功能点信息之间的对应关系,获得更新后的角色功能对应关系;
根据所述目标用户角色对应关系和所述更新后的角色功能对应关系,获得所述目标用户使用业务功能的权限。
可选的,所述功能点信息,为枚举值。
可选的,所述功能点信息,为针对接口生成的一个或多个功能点信息;其中,所述接口为用于访问业务服务功能的服务接口。
可选的,所述装置还包括功能点声明单元,所述功能点声明单元用于:针对一个接口,采用JAVA注解方式声明一个或多个功能点信息。
可选的,所述功能点声明单元,还用于:将一个功能点信息在多个接口中采用JAVA注解方式进行声明。
可选的,所述变更单元,还用于:
获得增加的角色信息,针对所述增加的角色信息,获得增加的角色功能对应关系;
使用所述增加的角色功能对应关系,更新所述目标用户角色对应关系;获得更新后的目标用户角色对应关系;
根据所述更新后的目标用户角色对应关系,获得所述目标用户使用业务功能的权限。
可选的,所述目标用户对应一个角色信息;一个角色信息对应一个或多个功能点信息;一个功能点信息对应一个或多个角色信息。
可选的,所述角色选取单元701,具体用于:为所述目标用户选取超级管理员角色信息,将所述超级管理员角色信息作为所述目标角色信息;
所述用户角色关联单元702,具体用于:建立所述目标用户与所述超级管理员角色信息之间的对应关系,作为所述目标用户角色对应关系;
所述角色功能关联单元703,具体用于:获得增加角色或者删除角色的角色管理功能点信息,建立所述超级管理员角色信息与所述角色管理功能点信息之间的对应关系,作为所述角色功能对应关系;
所述权限管理单元704,具体用于:针对所述目标用户获得所述超级管理员角色信息对应的所述角色管理功能点信息,接收所述目标用户的输入信息,根据所述输入信息,增加角色或者删除角色。
与第二实施例对应,本申请第五实施例提供一种权限控制装置。以下结合图8对第五实施例提供的装置进行说明。
图8所示的权限控制装置,包括:
接口访问单元801,用于获得目标用户针对目标接口的访问请求;其中,所述目标接口为用于访问目标业务功能的服务接口;
接口功能点获得单元802,用于获得所述目标接口的多个功能点信息;所述功能点信息用于表示使用业务功能的权限;
权限控制单元803,用于根据所述目标接口的多个功能点信息,针对所述访问请求对应的访问行为进行权限控制。
可选的,所述权限控制单元803,具体用于:获得所述目标接口的接口类型;根据所述目标接口的接口类型以及所述目标接口的多个功能点信息,针对所述访问请求对应的访问行为进行权限控制。
可选的,所述权限控制单元803,具体用于:
如果所述目标接口的接口类型为公共接口,则允许执行所述访问请求对应的访问行为;
如果所述目标接口的接口类型为非公共接口,则根据所述访问请求以及所述目标接口的多个功能点信息,针对所述访问请求对应的访问行为进行权限控制。
可选的,所述权限控制单元803,具体用于:
如果从所述访问请求中未成功获得cookie信息,则提示所述目标用户进行登录认证;
如果从所述访问请求中成功获得cookie信息,则根据所述cookie信息以及所述目标接口的多个功能点信息,针对所述访问请求对应的访问行为进行权限控制。
可选的,所述权限控制单元803,具体用于:
根据所述cookie信息查找会话信息;
如果未成功获得会话信息,则提示所述目标用户进行登录认证;
如果成功获得会话信息,则获得所述目标用户对应的角色信息,根据所述角色信息以及所述目标接口的多个功能点信息,针对所述访问请求对应的访问行为进行权限控制;其中,所述角色信息用于表示具有相同权限的用户的分类信息。
可选的,所述权限控制单元803,具体用于:如果未成功获得所述目标用户对应的角色信息,则提示所述目标用户进行登录认证。
可选的,所述权限控制单元803,具体用于:
获得所述角色信息对应的功能点信息;
如果所述角色信息对应的任意功能点信息匹配到所述目标接口的多个功能点信息中的至少一个功能点信息,则允许执行所述访问请求对应的访问行为;
否则,禁止所述访问请求对应的访问行为。
可选的,所述目标接口的多个功能点信息,为枚举值。
可选的,所述目标接口的多个功能点信息,为采用JAVA注解方式针对所述目标接口生成的功能点信息。
与第三实施例对应,本申请第六实施例提供另一种权限处理装置。第六实施例提供的装置示意图类似图7。
第六实施例提供的权限处理装置,包括:
角色选取单元,用于为目标用户选取目标角色信息,所述目标用户为菜品订阅系统的注册用户;
用户角色关联单元,用于建立所述目标用户与所述目标角色信息之间的目标用户角色对应关系;
角色功能关联单元,用于获得角色信息与功能点信息之间的角色功能对应关系,所述角色信息用于表示具有相同权限的用户的分类信息,所述功能点信息用于表示使用业务功能的权限,所述业务功能为所述菜品订阅系统通过接口提供的业务功能;
权限管理单元,用于根据所述目标用户角色对应关系和所述角色功能对应关系,获得所述目标用户使用业务功能的权限。
可选的,所述装置还包括角色功能关联单元,所述角色功能关联单元用于:
获得所述菜品订阅系统的角色信息;
获得所述菜品订阅系统提供的多个功能点信息;
建立所述角色信息与所述多个功能点信息中的一个或多个功能点信息之间的角色功能对应关系;
所述角色选取单元,具体用于:从建立了角色功能对应关系的角色信息中为目标用户选取目标角色信息。
可选的,所述装置还包括功能点声明单元,所述功能点声明单元用于:针对所述菜品订阅系统的一个接口,采用JAVA注解方式声明一个或多个功能点信息。
可选的,所述权限管理单元具体用于:获得所述目标用户针对目标接口的访问请求;所述目标接口为所述菜品订阅系统的提供多个功能点信息的接口;
如果所述目标接口的接口类型为公共接口,则允许执行所述访问请求对应的访问行为。
可选的,所述权限管理单元具体用于:如果所述目标接口的接口类型为非公共接口,则根据所述目标用户角色对应关系和所述角色功能对应关系,获得所述目标用户使用业务功能的权限。
可选的,所述权限管理单元具体用于:
如果从所述访问请求中成功获得cookie信息,并且根据所述cookie信息成功获得会话信息,则进行下述处理:
根据所述目标用户角色对应关系,获得所述目标用户对应的角色信息;
根据所述角色信息以及所述角色功能对应关系,获得所述目标用户能访问的功能点信息;
获得所述目标接口的多个功能点信息;
如果所述目标用户能访问的功能点信息中的任意功能点信息匹配到所述目标接口的多个功能点信息中的至少一个功能点信息,则允许执行所述访问请求对应的访问行为;否则,禁止所述访问请求对应的访问行为。
与第一实施例相对应,本申请第七实施例提供一种用于权限处理方法的电子设备。图9为所述电子设备的示意图。
图9所示的电子设备,包括:存储器901,以及处理器902;所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令:
为目标用户选取目标角色信息;
建立所述目标用户与所述目标角色信息之间的目标用户角色对应关系;
获得角色信息与功能点信息之间的角色功能对应关系,所述角色信息用于表示具有相同权限的用户的分类信息,所述功能点信息用于表示使用业务功能的权限;
根据所述目标用户角色对应关系和所述角色功能对应关系,获得所述目标用户使用业务功能的权限。
可选的,所述处理器还用于执行下述计算机可执行指令:获得角色信息;
获得多个功能点信息;建立所述角色信息与所述多个功能点信息中的一个或多个功能点信息之间的角色功能对应关系;从建立了角色功能对应关系的角色信息中为目标用户选取目标角色信息。
可选的,所述处理器还用于执行下述计算机可执行指令:
获得增加的功能点信息,在所述角色功能对应关系中增加所述角色信息与所述增加的功能点信息之间的对应关系,获得更新后的角色功能对应关系;或者,在所述角色功能对应关系中删除所述角色信息与所述功能点信息之间的对应关系,获得更新后的角色功能对应关系;
根据所述目标用户角色对应关系和所述更新后的角色功能对应关系,获得所述目标用户使用业务功能的权限。
可选的,所述功能点信息,为枚举值。
可选的,所述功能点信息,为针对接口生成的一个或多个功能点信息;其中,所述接口为用于访问业务服务功能的服务接口。
可选的,所述处理器还用于执行下述计算机可执行指令:针对一个接口,采用JAVA注解方式声明一个或多个功能点信息。
可选的,所述处理器还用于执行下述计算机可执行指令:将一个功能点信息在多个接口中采用JAVA注解方式进行声明。
可选的,所述处理器还用于执行下述计算机可执行指令:
获得增加的角色信息,针对所述增加的角色信息,获得增加的角色功能对应关系;使用所述增加的角色功能对应关系,更新所述目标用户角色对应关系;获得更新后的目标用户角色对应关系;根据所述更新后的目标用户角色对应关系,获得所述目标用户使用业务功能的权限。
可选的,所述目标用户对应一个角色信息;一个角色信息对应一个或多个功能点信息;一个功能点信息对应一个或多个角色信息。
可选的,所述处理器还用于执行下述计算机可执行指令:为所述目标用户选取超级管理员角色信息,将所述超级管理员角色信息作为所述目标角色信息;建立所述目标用户与所述超级管理员角色信息之间的对应关系,作为所述目标用户角色对应关系;获得增加角色或者删除角色的角色管理功能点信息,建立所述超级管理员角色信息与所述角色管理功能点信息之间的对应关系,作为所述角色功能对应关系;针对所述目标用户获得所述超级管理员角色信息对应的所述角色管理功能点信息,接收所述目标用户的输入信息,根据所述输入信息,增加角色或者删除角色。
与第二实施例相对应,本申请第八实施例提供一种用于权限控制方法的电子设备。所述电子设备的示意图类似图9。
第八实施例提供的电子设备,包括:存储器,以及处理器;所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令:
获得目标用户针对目标接口的访问请求;其中,所述目标接口为用于访问目标业务服务功能的服务接口;
获得所述目标接口的多个功能点信息;所述功能点信息用于表示使用业务功能的权限;
根据所述目标接口的多个功能点信息,针对所述访问请求对应的访问行为进行权限控制。
可选的,所述处理器还用于执行下述计算机可执行指令:获得所述目标接口的接口类型;根据所述目标接口的接口类型以及所述目标接口的多个功能点信息,针对所述访问请求对应的访问行为进行权限控制。
可选的,所述处理器还用于执行下述计算机可执行指令:如果所述目标接口的接口类型为公共接口,则允许执行所述访问请求对应的访问行为;
如果所述目标接口的接口类型为非公共接口,则根据所述访问请求以及所述目标接口的多个功能点信息,针对所述访问请求对应的访问行为进行权限控制。
可选的,所述处理器还用于执行下述计算机可执行指令:
如果从所述访问请求中未成功获得cookie信息,则提示所述目标用户进行登录认证;
如果从所述访问请求中成功获得cookie信息,则根据所述cookie信息以及所述目标接口的多个功能点信息,针对所述访问请求对应的访问行为进行权限控制。
可选的,所述处理器还用于执行下述计算机可执行指令:根据所述cookie信息查找会话信息;
如果未成功获得会话信息,则提示所述目标用户进行登录认证;
如果成功获得会话信息,则获得所述目标用户对应的角色信息,根据所述角色信息以及所述目标接口的多个功能点信息,针对所述访问请求对应的访问行为进行权限控制;其中,所述角色信息用于表示具有相同权限的用户的分类信息。
可选的,所述处理器还用于执行下述计算机可执行指令:如果未成功获得所述目标用户对应的角色信息,则提示所述目标用户进行登录认证。
可选的,所述处理器还用于执行下述计算机可执行指令:获得所述角色信息对应的功能点信息;
如果所述角色信息对应的任意功能点信息匹配到所述目标接口的多个功能点信息中的至少一个功能点信息,则允许执行所述访问请求对应的访问行为;
否则,禁止所述访问请求对应的访问行为。
可选的,所述目标接口的多个功能点信息,为枚举值。
可选的,所述目标接口的多个功能点信息,为采用JAVA注解方式针对所述目标接口生成的功能点信息。
与第三实施例相对应,本申请第九实施例提供另一种用于权限处理方法的电子设备。所述电子设备的示意图类似图9。
第九实施例提供的电子设备,包括:存储器,以及处理器;所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令:
为目标用户选取目标角色信息,所述目标用户为菜品订阅系统的注册用户;
建立所述目标用户与所述目标角色信息之间的目标用户角色对应关系;
获得角色信息与功能点信息之间的角色功能对应关系,所述角色信息用于表示具有相同权限的用户的分类信息,所述功能点信息用于表示使用业务功能的权限,所述业务功能为所述菜品订阅系统通过接口提供的业务功能;
根据所述目标用户角色对应关系和所述角色功能对应关系,获得所述目标用户使用业务功能的权限。
可选的,所述处理器还用于执行下述计算机可执行指令:获得所述菜品订阅系统的角色信息;获得所述菜品订阅系统提供的多个功能点信息;建立所述角色信息与所述多个功能点信息中的一个或多个功能点信息之间的角色功能对应关系;从建立了角色功能对应关系的角色信息中为目标用户选取目标角色信息。
可选的,所述处理器还用于执行下述计算机可执行指令:针对所述菜品订阅系统的一个接口,采用JAVA注解方式声明一个或多个功能点信息。
可选的,所述处理器还用于执行下述计算机可执行指令:获得所述目标用户针对目标接口的访问请求;所述目标接口为所述菜品订阅系统的提供多个功能点信息的接口;
如果所述目标接口的接口类型为公共接口,则允许执行所述访问请求对应的访问行为。
可选的,所述处理器还用于执行下述计算机可执行指令:如果所述目标接口的接口类型为非公共接口,则根据所述目标用户角色对应关系和所述角色功能对应关系,获得所述目标用户使用业务功能的权限。
可选的,所述处理器还用于执行下述计算机可执行指令:
如果从所述访问请求中成功获得cookie信息,并且根据所述cookie信息成功获得会话信息,则进行下述处理:
根据所述目标用户角色对应关系,获得所述目标用户对应的角色信息;
根据所述角色信息以及所述角色功能对应关系,获得所述目标用户能访问的功能点信息;
获得所述目标接口的多个功能点信息;
如果所述目标用户能访问的功能点信息中的任意功能点信息匹配到所述目标接口的多个功能点信息中的至少一个功能点信息,则允许执行所述访问请求对应的访问行为;否则,禁止所述访问请求对应的访问行为。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
1、计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
2、本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此本申请的保护范围应当以本申请权利要求所界定的范围为准。

Claims (10)

1.一种权限处理方法,其特征在于,包括:
为目标用户选取目标角色信息;
建立所述目标用户与所述目标角色信息之间的目标用户角色对应关系;
获得角色信息与功能点信息之间的角色功能对应关系,所述角色信息用于表示具有相同权限的用户的分类信息,所述功能点信息用于表示使用业务功能的权限;
根据所述目标用户角色对应关系和所述角色功能对应关系,获得所述目标用户使用业务功能的权限。
2.根据权利要求1所述的方法,其特征在于,还包括:
获得角色信息;
获得多个功能点信息;
建立所述角色信息与所述多个功能点信息中的一个或多个功能点信息之间的角色功能对应关系;
所述为目标用户选取目标角色信息,包括:从建立了角色功能对应关系的角色信息中为目标用户选取目标角色信息。
3.根据权利要求1所述的方法,其特征在于,还包括:
获得增加的功能点信息,在所述角色功能对应关系中增加所述角色信息与所述增加的功能点信息之间的对应关系,获得更新后的角色功能对应关系;或者,在所述角色功能对应关系中删除所述角色信息与所述功能点信息之间的对应关系,获得更新后的角色功能对应关系;
根据所述目标用户角色对应关系和所述更新后的角色功能对应关系,获得所述目标用户使用业务功能的权限。
4.根据权利要求1所述的方法,其特征在于,所述功能点信息,为枚举值。
5.根据权利要求1所述的方法,其特征在于,所述功能点信息,为针对接口生成的一个或多个功能点信息;其中,所述接口为用于访问业务服务功能的服务接口。
6.根据权利要求4所述的方法,其特征在于,还包括:针对一个接口,采用JAVA注解方式声明一个或多个功能点信息。
7.根据权利要求4所述的方法,其特征在于,还包括:将一个功能点信息在多个接口中采用JAVA注解方式进行声明。
8.根据权利要求1所述的方法,其特征在于,还包括:
获得增加的角色信息,针对所述增加的角色信息,获得增加的角色功能对应关系;
使用所述增加的角色功能对应关系,更新所述目标用户角色对应关系;获得更新后的目标用户角色对应关系;
根据所述更新后的目标用户角色对应关系,获得所述目标用户使用业务功能的权限。
9.一种权限控制方法,其特征在于,包括:
获得目标用户针对目标接口的访问请求;其中,所述目标接口为用于访问目标业务服务功能的服务接口;
获得所述目标接口的多个功能点信息;所述功能点信息用于表示使用业务功能的权限;
根据所述目标接口的多个功能点信息,针对所述访问请求对应的访问行为进行权限控制。
10.一种权限处理方法,其特征在于,包括:
为目标用户选取目标角色信息,所述目标用户为菜品订阅系统的注册用户;
建立所述目标用户与所述目标角色信息之间的目标用户角色对应关系;
获得角色信息与功能点信息之间的角色功能对应关系,所述角色信息用于表示具有相同权限的用户的分类信息,所述功能点信息用于表示使用业务功能的权限,所述业务功能为所述菜品订阅系统通过接口提供的业务功能;
根据所述目标用户角色对应关系和所述角色功能对应关系,获得所述目标用户使用业务功能的权限。
CN201910655115.7A 2019-07-19 2019-07-19 权限处理、权限控制方法及装置 Pending CN110457629A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910655115.7A CN110457629A (zh) 2019-07-19 2019-07-19 权限处理、权限控制方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910655115.7A CN110457629A (zh) 2019-07-19 2019-07-19 权限处理、权限控制方法及装置

Publications (1)

Publication Number Publication Date
CN110457629A true CN110457629A (zh) 2019-11-15

Family

ID=68481575

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910655115.7A Pending CN110457629A (zh) 2019-07-19 2019-07-19 权限处理、权限控制方法及装置

Country Status (1)

Country Link
CN (1) CN110457629A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110889126A (zh) * 2019-11-25 2020-03-17 杭州安恒信息技术股份有限公司 一种优化的Web应用的权限控制方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120192257A1 (en) * 2011-01-26 2012-07-26 Ricoh Company, Ltd. Image processing apparatus, access control method, and storage medium
CN105608366A (zh) * 2014-11-18 2016-05-25 华为软件技术有限公司 用户权限控制方法和装置
CN105894159A (zh) * 2014-12-03 2016-08-24 北京航天长峰科技工业集团有限公司 一种跨领域跨平台的用户统一管理系统的实现方法
CN107566375A (zh) * 2017-09-08 2018-01-09 郑州云海信息技术有限公司 访问控制方法和装置
CN107846297A (zh) * 2016-09-21 2018-03-27 北京航天长峰科技工业集团有限公司 一种用于网络平台开发的用户统一管理方法
CN109214151A (zh) * 2018-09-28 2019-01-15 北京赛博贝斯数据科技有限责任公司 用户权限的控制方法及系统
US20190068637A1 (en) * 2016-05-26 2019-02-28 Visa International Service Association Reliable timestamp credential

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120192257A1 (en) * 2011-01-26 2012-07-26 Ricoh Company, Ltd. Image processing apparatus, access control method, and storage medium
CN105608366A (zh) * 2014-11-18 2016-05-25 华为软件技术有限公司 用户权限控制方法和装置
CN105894159A (zh) * 2014-12-03 2016-08-24 北京航天长峰科技工业集团有限公司 一种跨领域跨平台的用户统一管理系统的实现方法
US20190068637A1 (en) * 2016-05-26 2019-02-28 Visa International Service Association Reliable timestamp credential
CN107846297A (zh) * 2016-09-21 2018-03-27 北京航天长峰科技工业集团有限公司 一种用于网络平台开发的用户统一管理方法
CN107566375A (zh) * 2017-09-08 2018-01-09 郑州云海信息技术有限公司 访问控制方法和装置
CN109214151A (zh) * 2018-09-28 2019-01-15 北京赛博贝斯数据科技有限责任公司 用户权限的控制方法及系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110889126A (zh) * 2019-11-25 2020-03-17 杭州安恒信息技术股份有限公司 一种优化的Web应用的权限控制方法

Similar Documents

Publication Publication Date Title
US10564936B2 (en) Data processing systems for identity validation of data subject access requests and related methods
US11281457B2 (en) Deployment of infrastructure in pipelines
US9730044B2 (en) Telecommunications data usage management
JP5702477B2 (ja) コンピューティングアプリケーション機能のための強力な権利管理
US8782748B2 (en) Online service access controls using scale out directory features
US8332922B2 (en) Transferable restricted security tokens
WO2010138910A1 (en) Secure collaborative environment
US20140164249A1 (en) Method and system for secure authentication and information sharing and analysis
WO2015013356A1 (en) Data communications management
US20150350194A1 (en) Systems, methods, and software to provide access control in cloud computing environments
US10192262B2 (en) System for periodically updating backings for resource requests
US10282461B2 (en) Structure-based entity analysis
US20160125070A1 (en) Unified system for real-time coordination of content-object action items across devices
US10552796B1 (en) Approval service in a catalog service platform
CN108053088A (zh) 一种用户管理系统、方法和装置
CN110457629A (zh) 权限处理、权限控制方法及装置
US10931716B2 (en) Policy strength of managed devices
US20210141932A1 (en) Data processing systems and methods for managing user system access
US10013237B2 (en) Automated approval
US20100222022A1 (en) Communication method, communication system and access method to service provider base
CN107911443A (zh) 一种会话信息处理方法、装置、服务器和可读存储介质
US20170132423A1 (en) End point identification
Barati et al. Privacy‐aware cloud ecosystems: Architecture and performance
US20160171613A1 (en) Backing management
US20200233907A1 (en) Location-based file recommendations for managed devices

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