一种基于分布式架构的权限服务方法、装置及系统与流程

文档序号:17090959发布日期:2019-03-13 23:27阅读:281来源:国知局
一种基于分布式架构的权限服务方法、装置及系统与流程

本发明涉及权限管理领域,特别涉及一种分布式架构的权限服务方法、装置及系统。



背景技术:

权限资源主要分为两类,即功能权限和数据权限。功能权限主要是菜单和接口两种,功能权限是具有通用性的,但是,数据权限实现各有不同。

目前,网站架构由单体应用往分布式架构发展,在分布式架构中存在多个系统,多个服务。原来的处理方案主要是基于单体系统的,每个系统各自维护自己的权限,这样的方式迁移到分布式系统有以下两个缺点:第一,需要各自系统编写权限过滤逻辑,无法复用相同的过滤逻辑,工作量较大;第二,各种权限分散在各个系统,不好统一管理维护。



技术实现要素:

本发明的目的是提供一种分布式架构的权限服务方法、装置及系统,用以解决传统权限服务需要分别为分布式架构中各个系统编写过滤逻辑,工作量较大,且不便于维护的问题。

为解决上述技术问题,本发明提供了一种基于分布式架构的权限服务方法,包括:

响应于用户获取数据资源的请求,获取用户的角色信息;

确定所述数据资源的数据接口,并调用所述数据接口获取分布式架构的多个子系统中对应的数据资源;

确定所述角色信息的角色数据权限;

根据所述角色数据权限,对所述数据资源进行过滤;

将过滤得到的数据资源反馈给用户。

其中,所述根据所述角色数据权限,对所述数据资源进行过滤包括:

确定用户的用户数据权限;

确定所述角色数据权限与所述用户数据权限的权限并集;

根据所述权限并集,对所述数据资源进行过滤。

其中,在所述响应于用户获取数据资源的请求,获取用户的角色信息之前,包括:

响应于用户的登录请求,对用户的身份信息进行鉴别;

根据所述身份信息,为用户提供对应的菜单和菜单选项,其中,所述身份信息与所述菜单和所述菜单选项的对应关系为预先设置的,所述菜单选项与接口对应。

其中,所述身份信息包括普通用户和信息维护用户,所述接口包括数据接口和功能接口。

其中,所述根据所述身份信息,为用户提供对应的菜单和菜单选项包括:

若所述身份信息为信息维护用户,则为用户提供维护菜单和多个维护选项;

在所述根据所述身份信息,为用户提供对应的菜单和菜单选项之后,包括:

获取用户输入的维护信息;

根据所述维护信息对所述角色数据权限、所述普通用户的角色信息、以及所述用户数据权限进行维护。

其中,在所述响应于用户获取数据资源的请求,获取用户的角色信息之前,包括:

响应于用户对功能资源的获取请求,获取用户的角色信息;

确定所述功能资源的功能接口,并调用所述功能接口获取分布式架构的多个子系统中对应的功能资源;

确定所述角色信息的角色功能权限;

根据所述角色功能权限,判断用户是否具有获取所述功能资源的权限;

若用户不具有获取所述功能资源的权限,则提示用户无法获取所述功能资源。

此外,本发明还提供了一种基于分布式架构的权限服务装置,包括:

角色信息获取模块:用于响应于用户获取数据资源的请求,获取用户的角色信息;

数据接口确定模块:用于确定所述数据资源的数据接口,并调用所述数据接口获取分布式架构的多个子系统中对应的数据资源;

角色数据权限确定模块:用于确定所述角色信息的角色数据权限;

过滤模块:用于根据所述角色数据权限,对所述数据资源进行过滤;

数据反馈模块:用于将过滤得到的数据资源反馈给用户。

最后,本发明还提供了一种基于分布式架构的权限服务系统,包括:客户端、服务网关、分布式架构系统、权限服务数据库;

其中,所述分布式服务器架构系统包括多个服务器,用于存储数据资源;

所述权限服务数据库用于保存角色信息与角色数据权限的对应关系;

所述客户端用于响应于用户获取数据资源的请求,获取用户的角色信息,并将所述数据资源的数据接口发送到所述服务网关,还用于根据所述权限服务数据库确定所述角色信息的角色数据权限,并在接收到从所述服务网关发送的数据资源之后,根据所述角色数据权限对所述数据资源进行过滤,将过滤得到的所述数据资源反馈给用户;

所述服务网关用于从所述分布式架构系统的多个子系统中获取与所述数据接口对应的数据资源,并将所述数据资源发送到所述客户端。

本发明所提供的一种基于分布式架构的权限服务方法,能够响应于用户获取数据资源的请求,获取用户的角色信息,并确定所述数据资源的数据接口,进而调用所述数据接口获取分布式架构的多个子系统中对应的数据资源,然后确定所述角色信息的角色数据权限,并根据所述角色数据权限,对所述数据资源进行统一的过滤,最后将过滤得到的数据资源反馈给用户。可见,该方法在从分布式架构中各个系统上获取用户请求的数据资源时,不需要在各个系统上分别按照各个系统各自的过滤逻辑进行过滤,而是将各个系统上的数据资源整合,并统一进行过滤,避免了为各个系统编写过滤逻辑的问题,且十分便于后期维护。

此外,本发明还提供了一种基于分布式架构的权限服务装置和系统,其作用与上述方法的作用相对应,这里不再赘述。

附图说明

为了更清楚的说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明提供的一种基于分布式架构的权限服务方法实施例一的实现流程图;

图2为本发明提供的一种基于分布式架构的权限服务方法实施例二的实现流程图;

图3为本发明提供的一种基于分布式架构的权限服务方法实施例二中资源的分类示意图;

图4为本发明提供的一种基于分布式架构的权限服务装置实施例的结构框图;

图5为本发明提供的一种基于分布式架构的权限服务系统实施例的结构示意图。

具体实施方式

本发明的核心是提供一种基于分布式架构的权限服务方法、装置及系统,避免了为分布式架构中各个系统编写过滤逻辑的工作量,且便于后期维护。

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明提供了一种基于分布式架构的权限服务方法、装置及系统,主要一种权限服务方式。在应用系统中,权限(permission)表现为对功能模块的操作,对上传文件的删改,菜单的访问,甚至页面上某个按钮、某个图片的可见性控制,也就是说,本发明所涉及的权限包含数据资源,以及数据资源与操作方式相结合。

下面对本发明提供的一种基于分布式架构的权限服务方法进行介绍,参见图1,实施例一包括:

步骤s101:响应于用户获取数据资源的请求,获取用户的角色信息。

步骤s102:确定所述数据资源的数据接口,并调用所述数据接口获取分布式架构的多个子系统中对应的数据资源。

步骤s103:确定所述角色信息的角色数据权限。

步骤s104:根据所述角色数据权限,对所述数据资源进行过滤。

步骤s105:将过滤得到的数据资源反馈给用户。

可见,本实施例所提供的一种基于分布式架构的权限服务方法,能够响应于用户获取数据资源的请求,获取用户的角色信息,并确定所述数据资源的数据接口,进而调用所述数据接口获取分布式架构的多个子系统中对应的数据资源,然后确定所述角色信息的角色数据权限,并根据所述角色数据权限,对所述数据资源进行统一的过滤,最后将过滤得到的数据资源反馈给用户。可见,该方法在从分布式架构中各个系统上获取用户请求的数据资源时,不需要在各个系统上分别按照各个系统各自的过滤逻辑进行过滤,而是将各个系统上的数据资源整合,并统一进行过滤,避免了为各个系统编写过滤逻辑的问题,且十分便于后期维护。

下面开始详细介绍本发明提供的一种基于分布式架构的权限服务方法实施例二,实施例二基于实施例一实现,并在实施例一的基础上做了进一步扩展和优化。

参见图2,实施例二具体包括:

步骤s201:响应于用户的登录请求,对用户的身份信息进行鉴别。

具体的,可以利用通用的登录拦截器来校验用户登录token,通过这种方式来对用户的身份信息进行鉴别。

步骤s202:根据所述身份信息,为用户提供对应的菜单和菜单选项。所述身份信息包括普通用户和信息维护用户,当所述身份信息为普通用户时,进入步骤s203,当所述身份信息为信息维护用户时,进入步骤s212。

其中,所述身份信息与所述菜单和所述菜单选项的对应关系为预先设置的,所述菜单选项与接口对应,所述接口包括数据接口和功能接口,这里的数据接口主要指用于获取数据资源的接口,而功能接口主要指用于实现某种操作的接口。

步骤s203:接收用户的请求,获取用户的角色信息,并判断该请求为数据资源的请求还是为功能资源的请求,若为数据资源的请求,进入步骤s204,否则进入步骤s208。

如图3所示,本实施例将数据资源与功能资源区别开来,数据权限与功能权限对应各自的权限服务方式。

步骤s204:响应于用户获取数据资源的请求,确定所述数据资源的数据接口。

步骤s205:调用所述数据接口获取分布式架构的多个子系统中对应的数据资源。

步骤s206:确定所述角色信息的角色数据权限,并确定用户的用户数据权限,确定所述角色数据权限与所述用户数据权限的权限并集;根据所述权限并集,对所述数据资源进行过滤。

值得一提的是,如图3所示,本实施例中将数据资源的来源分为两种,一种为和用户相关的,另一种为和角色相关的,这两种按照不同的方式来进行处理。举例来说,数据可能是属于某个人的数据,也可能是属于仓库管理员这一职位的数据,假设张三为一仓库管理员,那么,在本实施例中,通过预设设置张三的权限,张三能够获得的数据资源包括属于张三个人的数据,还包括属于仓库管理员的数据。

步骤s207:将过滤得到的数据资源反馈给用户。

步骤s208:响应于用户对功能资源的获取请求,确定所述功能资源的功能接口。

步骤s209:调用所述功能接口获取分布式架构的多个子系统中对应的功能资源。

步骤s210:确定所述角色信息的角色功能权限。

步骤s211:根据所述角色功能权限,判断用户是否具有获取所述功能资源的权限。

具体的,若用户不具有获取所述功能资源的权限,则提示用户无法获取所述功能资源;若用户具有所述功能资源的权限,则将所述功能资源反馈给用户,或根据用户的指令执行相应的操作。

步骤s212:若所述身份信息为信息维护用户,则为用户提供维护菜单和多个维护选项。

这里的维护选项与图3中的接口相对应,维护选项是显示在菜单上,用于直接与用户进行交互的,而每个维护选项都对应一个或者多个接口,通过调用这些接口,可以获取数据资源,获取功能资源,甚至获取数据与功能相结合的资源。

步骤s213:获取用户输入的维护信息;

步骤s214:根据所述维护信息对所述角色数据权限、所述普通用户的角色信息、以及所述用户数据权限进行维护。

综上所述,本实施例所提供的一种基于分布式架构的权限服务方法,能够响应于用户获取数据资源的请求,获取用户的角色信息,并确定所述数据资源的数据接口,进而调用所述数据接口获取分布式架构的多个子系统中对应的数据资源,然后确定所述角色信息的角色数据权限,并根据所述角色数据权限,对所述数据资源进行统一的过滤,最后将过滤得到的数据资源反馈给用户。可见,该方法在从分布式架构中各个系统上获取用户请求的数据资源时,不需要在各个系统上分别按照各个系统各自的过滤逻辑进行过滤,而是将各个系统上的数据资源整合,并统一进行过滤,避免了为各个系统编写过滤逻辑的问题,且十分便于后期维护。

下面对本发明实施例提供的一种基于分布式架构的权限服务装置进行介绍,下文描述的一种基于分布式架构的权限服务装置与上文描述的一种基于分布式架构的权限服务方法可相互对应参照。

参见图4,该装置实施例包括:

角色信息获取模块401:用于响应于用户获取数据资源的请求,获取用户的角色信息;

数据接口确定模块402:用于确定所述数据资源的数据接口,并调用所述数据接口获取分布式架构的多个子系统中对应的数据资源;

角色数据权限确定模块403:用于确定所述角色信息的角色数据权限;

过滤模块404:用于根据所述角色数据权限,对所述数据资源进行过滤;

数据反馈模块405:用于将过滤得到的数据资源反馈给用户。

本实施例的一种基于分布式架构的权限服务装置用于实现前述的一种基于分布式架构的权限服务方法,因此该装置中的具体实施方式可见前文中的一种基于分布式架构的权限服务方法的实施例部分,例如,角色信息获取模块401、数据接口确定模块402、角色数据权限确定模块403、过滤模块404、数据反馈模块405,分别用于实现上述一种基于分布式架构的权限服务方法中步骤s101,s102,s103,s104,s105。所以,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再展开介绍。

另外,由于本实施例的一种基于分布式架构的权限服务装置用于实现前述的一种基于分布式架构的权限服务方法,因此其作用与上述方法的作用相对应,这里不再赘述。

此外,本发明还提供了一种基于分布式架构的权限服务系统实施例,如图5所示,该系统实施例包括:客户端501、服务网关502、分布式架构系统503、权限服务数据库504。

其中,所述分布式架构系统503包括多个服务器,用于存储数据资源;

所述权限服务数据库504用于保存角色信息与角色数据权限的对应关系;

所述客户端501用于响应于用户获取数据资源的请求,获取用户的角色信息,并将所述数据资源的数据接口发送到所述服务网关502,还用于根据所述权限服务数据库504确定所述角色信息的角色数据权限,并在接收到从所述服务网关502发送的数据资源之后,根据所述角色数据权限对所述数据资源进行过滤,将过滤得到的所述数据资源反馈给用户;

所述服务网关502用于从所述分布式架构系统的多个子系统中获取与所述数据接口对应的数据资源,并将所述数据资源发送到所述客户端。

本实施例提供的一种基于分布式架构的权限服务系统用于实现前述的一种基于分布式架构的权限服务方法,因此该系统中的具体实施方式可见前文中的一种基于分布式架构的权限服务方法的实施例部分,且该系统的作用也与上述方法的作用相对应,这里不再赘述。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

以上对本发明所提供的一种基于分布式架构的权限服务方法、装置、及系统进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1