CN113821777A - 权限控制方法、装置、计算机设备和存储介质 - Google Patents
权限控制方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN113821777A CN113821777A CN202111399042.3A CN202111399042A CN113821777A CN 113821777 A CN113821777 A CN 113821777A CN 202111399042 A CN202111399042 A CN 202111399042A CN 113821777 A CN113821777 A CN 113821777A
- Authority
- CN
- China
- Prior art keywords
- authority
- dimension
- user
- role
- data
- 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.)
- Granted
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
技术领域
本申请涉及大数据技术领域,特别是涉及一种权限控制方法、装置、计算机设备和存储介质。
背景技术
随着大数据技术的发展,基于大数据的经营分析在企业经营管理和智慧决策上的应用越来越广泛,在金融领域的应用尤为重要。
传统技术中,平台的访问是基于角色的访问控制模型或者是基于对象的访问控制模型的,例如,基于角色的访问控制模型系统会根据场景定义不同的角色,每种角色可以完成一定的职能,不同的用户根据所在单位的岗位职能和责任被赋予相应的角色,当用户被添加为某角色的成员,则该用户可以实现该角色所具有的职能。依据角色的不同,每个主体对象只能执行自己所制定的访问功能,用户在一定的部门中具有一定的角色,其所执行的操作与其所赋予的角色的职能相匹配。角色可以看作是一组操作的集合,不同的角色具有不同的操作集,这些操作集由系统管理员分配给角色。
然而,目前应用系统的权限控制体系基本都是基于角色甚至直接基于用户的单层管理,分层管理扩展性差、对复杂权限的权限控制的支持能力弱。
发明内容
基于此,有必要针对上述技术问题,提供一种能够实现复杂权限控制的权限控制方法、装置、计算机设备和存储介质。
一种权限控制方法,所述方法包括:
接收用户登录请求,所述用户登录请求携带有用户标识;
读取与所述用户标识对应的用户角色,并获取所述用户角色对应的角色权限;
根据所述角色权限在横向数据维度和纵向数据维度上进行合并得到用户权限清单;
接收用户数据读取请求;
根据所述用户数据读取请求获取对应的数据;
基于所述用户权限清单对所获取的数据进行权限控制后,输出对应范围的数据。
在其中一个实施例中,所述横向数据维度包括第一横向维度和第二横向维度;所述根据所述角色权限在横向数据维度和纵向数据维度上进行合并得到用户权限清单,包括:
在所述第一横向维度将所述角色权限取并集得到对应所述第一横向维度的用户权限;
从所述角色权限中提取所述第二横向维度对应的行角色权限和列角色权限;
将所述行角色权限和列角色权限取交集得到对应所述第二横向维度的用户权限;
根据对应所述第一横向维度的用户权限和对应所述第二横向维度的用户权限得到用户权限清单。
在其中一个实施例中,所述行角色权限的生成方式包括:
接收所定义的待进行行权限控制的维度以及维度信息;
根据所述维度以及所述维度信息生成维度模型;
获取报表需求,并根据报表需求获取对应的维度;
获取所述报表需求对应的指标,根据所述指标和所述维度生成数据分析模型;
根据所述维度建立所述维度模型和所述数据分析模型的映射关系以得到待进行行权限控制的维度的行权限;
接收行角色创建指令,根据所述行角色创建指令创建行角色;
接收针对所创建的行角色的维度授权指令,根据所述维度授权指令查询到对应的维度,并将所查询到的维度的行权值赋值至所创建的行角色得到行角色权限。
在其中一个实施例中,所述基于所述用户权限清单对所获取的数据进行权限控制后,输出对应范围的数据,包括:
当所述用户权限清单中包括行角色权限时,则提取所述行角色权限的维度;
查询与所提取的维度对应的维度模型和数据分析模型;
根据所述维度模型和所述数据分析模型对所获取的数据进行行角色权限控制后,输出对应范围的数据。
在其中一个实施例中,所述行权限控制的维度包括机构,所述方法还包括:
定期查询用户在组织架构中的机构;
获取所查询的机构对应的行权限,根据所查询到的行权限对所述用户的用户权限清单进行调整。
在其中一个实施例中,所述列角色权限的生成方式包括:
接收所定义的待进行列权限控制的模型表清单;
构建所述模型表清单中各个模型表对应的指标,查询所述指标的源数据,并根据所述指标的源数据生成度量标签表;
接收列角色创建指令,根据所述列角色创建指令创建列角色;
接收针对所创建的列角色的度量标签选择指令,根据所述度量标签选择指令查询到对应的度量标签,并根据所查询到的度量标签创建列角色权限。
在其中一个实施例中,所述基于所述用户权限清单对所获取的数据进行权限控制后,输出对应范围的数据,包括:
当所述用户权限清单中包括列角色权限时,则提取所述列角色权限的度量标签;
根据所述度量标签查询到对应的指标;
根据所查询到的指标对所获取的数据进列权限控制后,输出对应范围的数据。
在其中一个实施例中,所述方法还包括:
接收用户管理请求,所述用户管理请求携带有用户标识;
判断所述用户标识对应的所述角色权限中是否存在管理权限;
当存在管理权限时,则显示所述角色权限,以进行角色管理。
在其中一个实施例中,所述用户权限清单包括所述纵向维度,所述纵向维度包括集团维度、专业子公司维度、机构维度以及中支机构维度,所述横向维度包括功能维度、资源维度和数据维度;所述功能维度包括菜单子维度和按钮子维度,所述资源维度包括报表子维度和指标子维度,所述数据维度包括数据子维度和数据量度子维度。
一种权限控制装置,所述装置包括:
第一接收模块,用于接收用户登录请求,所述用户登录请求携带有用户标识;
角色权限读取模块,用于读取与所述用户标识对应的用户角色,并获取所述用户角色对应的角色权限;
用户权限清单生成模块,用于根据所述角色权限在横向数据维度和纵向数据维度上进行合并得到用户权限清单;
第二接收模块,用于接收用户数据读取请求;
数据获取模块,用于根据所述用户数据读取请求获取对应的数据;
权限控制模块,用于基于所述用户权限清单对所获取的数据进行权限控制后,输出对应范围的数据。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述的方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法的步骤。
上述权限控制方法、装置、计算机设备和存储介质,在接收到用户登录请求后,则获取到用户标识对应的用户角色,并获取用户角色对应的角色权限,这样可以将用户下的所有的角色的角色权限在横向数据维度和纵向数据维度上进行合并得到用户权限清单,从而在接收到用户数据读取请求后,可以基于用户权限清单对所获取的数据进行权限控制后,输出对应范围的数据,这样横向数据维度和纵向数据维度多维度进行控制,可以支持复杂权限控制。
附图说明
图1为一个实施例中权限控制方法的应用环境图;
图2为一个实施例中权限控制方法的流程示意图;
图3为一个实施例中的权限管理层级的示意图;
图4为另一个实施例中权限控制方法的流程示意图;
图5为一个实施例中权限控制装置的结构框图;
图6为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的权限控制方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。其中终端102向服务器104发送用户登录请求,该登录请求携带有用户标识,从而服务器104可以读取与用户标识对应的用户角色,并获取到用户角色对应的角色权限,从而服务器104可以根据角色权限在横向数据维度和纵向数据维度上进行合并得到用户权限清单,这样当接收到终端102发送的用户数据读取请求后,则服务器104根据用户数据读取请求获取对应的数据;基于用户权限清单对所获取的数据进行权限控制后,输出对应范围的数据。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种权限控制方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
S202:接收用户登录请求,用户登录请求携带有用户标识。
具体地,用户登录请求是终端发送的,该用户登录请求携带有用户标识,该用户标识至少包括用户账号,此外,该用户登录请求还可以包括密码等,这样通过账号和密码可以登录服务器。
在实际应用中,在登录服务器之前,服务器首先根据用户标识来获取到用户对应的权限,从而可以在登录服务器之后,显示与用户标识对应的功能,例如菜单和/或按钮等。
S204:读取与用户标识对应的用户角色,并获取用户角色对应的角色权限。
具体地,一个用户下可以包括多个角色,因此服务器可以根据用户标识查询到用户对应的角色,优先地,服务器可以查询用户角色信息表,从而从用户角色信息表中读取所有的角色,再通过用户角色信息表中对应的角色编码查询到角色权限,例如查询到每个角色的角色权限信息表,该些角色权限信息表中可以包括该角色对应的菜单权限列表、按钮权限列表、报表权限列表、指标权限列表以及数据维度对应的权限列表,其中菜单权限列表与按钮权限列表相同,可以仅获取其中一个。
S206:根据角色权限在横向数据维度和纵向数据维度上进行合并得到用户权限清单。
具体地,请参见图3所示,图3为一个实施例中的权限管理层级的示意图,在该实施例中,角色权限可以包括横向数据维度和纵向数据维度,其中纵向维度包括集团维度、专业子公司维度、机构维度以及中支机构维度,横向维度包括功能维度、资源维度和数据维度;功能维度包括菜单子维度和按钮子维度,资源维度包括报表子维度和指标子维度,数据维度包括数据子维度和数据量度子维度。当集团内多个主体单位加入需要分别分级,则权限角色纵向扩展,每个主体单位分别创建一套应用、管理,功能、资源、数据,菜单、按钮、报表、指标、行、列角色体系,形成一套集团加专业子公司加分公司加中支公司的权限管理体系。
其中,用户分为应用用户和管理用户,且一个用户可以同时是应用用户和管理用户,超级管理员可以创建管理角色,并将管理角色赋值到对应的用户,从而实现创建的用户进行管理,例如创建其他管理用户或者是应用用户。具体地,在创建管理角色的时候,需要指定每类管理角色管理的功能、资源、或数据的范围,管理角色分为功能管理角色、资源管理角色、数据管理角色,功能管理角色里面又根据功能类型分类功能菜单权限管理角色、功能按钮权限管理角色;资源管理角色又根据资源类别分为报表资源管理角色和指标资源管理角色等,报表或指标管理角色里面又可根据类别或主题再细分管理角色,根据系统的资源量以及职能划分灵活扩展;数据管理角色根据分析维度和度量分为行权限管理角色、列权限管理角色,行权限管理里面又可根据维度层级划分不同的管理角色,列权限管理角色又可根据不同的数据分析模型权限划分不同的管理角色。通过这种策略能够做到管理清晰、并灵活扩展,在访问对象逐渐庞大,需要多人管理时,只需扩展管理角色,分配相应的管理范围就能轻易实现管理职能分级扩散。超级管理员在创建管理角色时分别授予了功能、资源、数据权限的范围,管理角色可管理的用户范围是经分全量用户,当需要做纵向分级管理时,开放横向管理角色可创建纵向管理角色,创建纵向管理角色时根据用户范围创建,例如按照专业子公司分类用户进行创建。以横向功能管理角色为例,当要创建一个子公司的纵向管理角色时,横向管理角色新建一个角色,选择角色可管理的功能范围,选择这个角色管辖的专业子公司,创建完成,则在功能权限体系模型表中新增一个角色与纵向管理用户映射表,该模型表中为角色与所选子公司的全部经分用户映射关系,当该纵向管理功能角色用户进入权限管理模块,系统通过关联用户角色关系模型表、角色基础模型表、角色功能映射表、角色与纵向管理用户映射关系表识别出该管理角色可授权的功能列表、可授权的用户列表。给需要分级管理的专业子公司分别创建纵向管理角色就可自动实现集团向子公司的纵向管理。
具体地,对于用户权限清单,服务器将查询到的角色权限在横向数据维度和纵向数据维度上进行合并得到用户权限清单,例如一个用户拥有多个角色时,功能角色或资源角色里多个角色权限取并集,数据权限里多个角色权限取交集,最后再将整合后的不同类别的角色权限取并集,这样就形成了该用户去重后的用户权限清单。
其中,功能权限里的按钮权限,分为实际按钮和虚拟按钮两类,例如在报表页面的按钮权限下载、分享、收藏、订阅这种按钮权限的控制则是根据页面的实际按钮进行权限控制;此外例如某个菜单页面不同职能的用户可做的操作不一样,而这类操作通常是一组按钮的代表,例如针对某些流程类的处理页面,普通流程用户可操作的一版是查询、提交、审核等,管理人员则可以额外再有催办、退回,以及可查询的范围业余普通用户不同,因此这种页面的按钮功能通常是通过两组虚拟的按钮权限来区分,例如任务处理、任务管理,授权角色的时候通过选择菜单下不同类别的两组虚拟按钮实现用户在这个菜单下不同按钮权限的区分。传统的权限管理体系中功能权限基本就是到菜单的,到按钮的控制通常是通过后台代码逻辑进行控制,设置某个特定角色,后台通过匹配这个特定角色实现按钮操作权限的区分,这种方式灵活性比较低,必须将用户添加到该特定角色中才能实现这个效果。而将权限配置精确到菜单下的功能按钮,则可以在前端配置页面就灵活的配置用户的按钮操作权限。
数据权限中的行权限,通过建立机构维度表、险种维度表、渠道维度表,并将维度表与集市层有这些维度的模型表建立映射关系,当用户被赋予了机构或险种或渠道的行权限时,用户的行权限属性就打上了被赋予的机构或渠道或险种的值标签,当用户在系统打开一个报表页面,系统识别报表对于的集市模型表是否是行权限维度范围内的集市模型表,如果是则根据用户的行属性标签从该报表依赖的集市模型表中筛选出维度权限范围内的数据,报表页面根据这个数据展示出报表结果。这种方式的优势在于,这个行权限是全局的配置,只要配置一次,所有需要根据行维度进行权限控制的报表,当用户去访问的时候,都会自动根据用户的行维度标签进行数据过滤,无需针对每一张报表分别设置行权限。
同理数据权限中的列权限,通过建立需要进行列权限控制的集市层模型表及权限控制列的维护,当用户被赋予了某个集市表的列权限可见或屏蔽的时候,则该用户的列权限标签上打上了该集市表及权限列,当用户打开某张报表的时候,系统自动判断该报表依赖的集市层模型表是否为用户的列权限控制模型表,如果是,则根据用户的列权限标签自动进行列可见或列屏蔽,并根据可见或屏蔽列在前端报表页面进行报表数据过滤机展示。这种方式的优势同样是在与这个列权限是全局配置的,当用户被授予的某个集市表的列权限,则所有基于这个集市表实现的报表都会按照用户的列标签进行数据过滤及报表展示,无需针对每一张报表分别进行设置。
这样服务器可以根据用户权限清单中的菜单、报表指标给用户展示该用户可见的一级菜单、二级菜单、报表、指标等。即当应用角色用户登录经分,服务器通过关联用户角色关系模型表和角色基础模型表识别用户所属角色类型以及该角色的权限范围,并根据模型关联结果给该用户展示相应的经分的功能菜单。
S208:接收用户数据读取请求。
S210:根据用户数据读取请求获取对应的数据。
S212:基于用户权限清单对所获取的数据进行权限控制后,输出对应范围的数据。
具体地,用户数据读取请求可以是用户需要打开某张报表的时候,终端所生成的报表读取请求,这样服务器根据用户权限清单给用户展示权限范围内的数据。这样考虑全局的维度和度量的权限,通过定义特定访问主体的属性与受控对象的特点以及和满足特定规则范围的数据的建立匹配关系,当数据发生更新时无需调整访问主体和受控对象即可实现自动的权限适应调整。
具体地,对于普通用户,当用户申请经分的权限时,需要分别从功能菜单、功能按钮、报表资源、指标资源、行权限、列权限几个类别进行用户权限配置。经分之所以采用角色组合的方式是因为,当不同的用户对于以上类别的权限分别有不同的范围的时候,这种角色组合的方式可以减少新建角色的个数,例如当有一波用户对应有5种类别的功能菜单权限范围和6种报表资源的权限范围,采用角色组合的方式只需创建5+6=11种角色,每类用户通过不同的角色自由组合实现权限控制,而不用创建5*6=30种不同的角色,每类用户一个角色。角色组合的形式创建的角色少,可自由组合,灵活度很高,不会出现一有一批权限与之前的不一致的情况就需要新建角色,通过这种方式只需在已有的角色上进行组合,将一组新的角色组合赋予给这批用户就能完成新的权限的配置。
这样当用户登录到服务器,服务器会通过用户角色关系表找到用户被赋予的所有角色,然后通过角色权限映射表找到每个角色对应的菜单、按钮、报表、指标、行权限、列权限,当用户进入服务器,则根据菜单权限展示用户可访问的菜单,当用户打开某个具体页面则根据按钮权限展示用户可操作的按钮,当进入报表管理模块根据报表权限展示用户可查看的报表,指标管理模块根据指标权限展示用户可查看的指标,当打开某个报表则根据用户行权限展示用户可访问的机构、渠道、险种的报表数据,根据列权限展示用户可访问的指标度量,一站式完成用户在功能、资源、数据三大类别的权限上的有效控制。
上述权限控制方法,在接收到用户登录请求后,则获取到用户标识对应的用户角色,并获取用户角色对应的角色权限,这样可以将用户下的所有的角色的角色权限在横向数据维度和纵向数据维度上进行合并得到用户权限清单,从而在接收到用户数据读取请求后,可以基于用户权限清单对所获取的数据进行权限控制后,输出对应范围的数据,这样横向数据维度和纵向数据维度多维度进行控制,可以支持复杂权限控制。
在其中一个实施例中,横向数据维度包括第一横向维度和第二横向维度;根据角色权限在横向数据维度和纵向数据维度上进行合并得到用户权限清单,包括:在第一横向维度将角色权限取并集得到对应第一横向维度的用户权限;从角色权限中提取第二横向维度对应的行角色权限和列角色权限;将行角色权限和列角色权限取交集得到对应第二横向维度的用户权限;根据对应第一横向维度的用户权限和对应第二横向维度的用户权限得到用户权限清单。
具体地,此处的第一横向维度可以是指功能和资源,第二横向维度可以指数据。
本实施例中权限管理体系是采取多维度组合方式进行权限控制的,功能维度、资源维度、数据维度。之所以采取多维度组合的方式进行权限管理是考虑用户群的多样性,根据以往经验用户群通常包含数据分析用户和其他功能性用户,其他功能性用户通常不具备数据的权限,只享受系统的一些功能上的使用权限,因此将功能和数据区分开,然后在数据上,又分为资源和资源下的数据权限,因为不是所有的资源都需要区分数据权限,因此数据权限也单独分开来管理。
其中,不管是管理角色类型还是应用角色类型,在功能和资源权限类别的下的权限策略是在单个类型下多个角色取并集。单个用户可同时拥有应用角色和管理角色,具体地,服务器根据用户账号从用户角色表中查询出用户的全部角色以及每个角色的权限清单,将该用户角色类型为功能角色的全部角色权限清单取出来,用菜单id作为除重字段进行去重,去重后的功能菜单清单为该用户的功能权限范围;将该用户的报表资源角色对应的全部报表清单取出来,用报表id作为除重字段进行去重,去重后的报表清单为该用户的报表资源权限范围;将该用户的指标资源角色对应的全部指标清单取出来,用户指标id作为去重字段去重,去重后的指标清单为该用户的指标资源权限范围;将该用户的功能权限范围与报表权限范围、指标权限范围组合在一起构成用户的全部功能和资源的权限范围,即形成用户登录到系统后能看到的菜单以及菜单下的报表清单或指标清单。
服务器在打开报表的时候,能看到的报表中的哪些数据则是通过数据权限中的行列权限实现的。当用户有多个行角色、列角色时,服务器读取出全部行角色清单根据维度类型和维度标识做除重取并集,并从维度和数据分析模型关系表中取出具有这些维度权限的表,组成表名称、维度类型、维度字段、维度值;再取出列角色清单根据集市层表标识、指标字段做除重取并集,组成表名称、指标字段;然后将行角色的权限结果集和列角色权限结果集合在一起取交集,形成最终的数据权限合集,相同的表既要满足可展示的字段要等于列权限结果集中的指标字段,又要限制该指标字段对应的数据范围的条件等于行权限合集中该表对应的维度字段中维度值对应的指标数据。
在其中一个实施例中,行角色权限的生成方式包括:接收所定义的待进行行权限控制的维度以及维度信息;根据维度以及维度信息生成维度模型;获取报表需求,并根据报表需求获取对应的维度;获取报表需求对应的指标,根据指标和维度生成数据分析模型;根据维度建立维度模型和数据分析模型的映射关系以得到待进行行权限控制的维度的行权限;接收行角色创建指令,根据行角色创建指令创建行角色;接收针对所创建的行角色的维度授权指令,根据维度授权指令查询到对应的维度,并将所查询到的维度的行权值赋值至所创建的行角色得到行角色权限。
具体地,行权限是通过构建维度模型与数据分析模型的映射关系来进行全局的维度权限控制。行权限实现方式具体可以包括:
首先定义需要进行行权限控制的维度,例如机构、险种、渠道等,服务器读取各专业子公司的机构、险种、渠道清单进行整合,构建统一的维度模型表,维度模型表中包含维度类型、维度字段、维度编码、维度值。
其次服务器根据报表需求构建数据分析模型,需要根据机构、险种、渠道这几个类型的任何维度进行分析的报表,则在构建数据分析模型的时候在模型表中加入相应的维度,如果报表是要基于机构维度进行分析的,则设计数据分析模型时需在模型表中加入机构层级、机构代码、机构名称;如果是要基于险种维度进行分析的,则在设计数据分析模型时需在模型表中加入险种类别、险种代码、险种名称;如果是要基于渠道维度进行分析的,则在数据分析模型表中加入渠道类型、渠道代码、渠道名称,机构与险种、渠道等维度可以相互组合构建模型表的维度。然后将要分析的指标分别添加到所构建的各个模型中形成可以基于不同视角分析的数据分析模型表,各模型表用来存储不同维度类型的指标数据。
再者构建维度模型与数据分析模型关系表,将数据分析模型中包含维度模型表中维度字段的表的表名与对应的维度类型建立映射关系。映射关系表通过系统自动识别进行构建,系统读取维度模型表的所有维度字段,关联集市层所有模型表的表结构基础原数据,将维度字段与所有集市层模型表的字段关联上的所有的表以及维度字段、维度类型写入关系表中,关系表中存储数据分析模型表的英文表名与维度类型、维度字段的映射关系,一张表、一种维度类型、一个维度字段一条数据,一张表中包含多个维度字段的存储多条。
这样管理人员在前端角色管理界面创建行角色,授予角色维度权限,授权角色维度的页面自动读取维度模型表,显示所有的维度类型,管理人员选择一个维度类型,则动态加载该维度类型的维度值,管理员选取可授予该角色权限的所有的维度值,该维度值可以多选,则完成该角色维度权限的授权,该角色的行标签为所选择的维度类型和维度值。再将用户添加到该角色中,则该用户的行权限标签直接继承所属角色的行维度标签。例如维度类型选择机构,维度值选择A和B,则该用户的行权限标签为权限类型:机构权限,权限范围:A和B两家机构。
在其中一个实施例中,基于用户权限清单对所获取的数据进行权限控制后,输出对应范围的数据,包括:当用户权限清单中包括行角色权限时,则提取行角色权限的维度;查询与所提取的维度对应的维度模型和数据分析模型;根据维度模型和数据分析模型对所获取的数据进行行角色权限控制后,输出对应范围的数据。
具体地,当这个用户打开一张报表的时候,系统从用户角色关系表中读取该用户的权限信息,发现该用户具有行角色,则提出该角色的行标签值维度类型和维度值,然后系统通过报表对应的英文名称以及用户的维度类型去检索维度模型与数据分析模型关系表,检索到表名则返回该报表为需要做行权限控制的报表,则系统在给用户返回数据的时候,用用户的行标签对应的维度值去做数据过滤,报表前端页面根据过滤结果进行报表展示。例如举例用户的行标签为机构维度太平人寿和太平养老,当一张报表包含全集团所有专业子公司的数据时,当该用户打开这张报表的时候,系统自动只给该用户展示太平人寿和太平养老两家专业子公司的数据。用户的行权限是其他维度类型的权限时,权限控制原理是一致的,再次不再赘述。
在其中一个实施例中,行权限控制的维度包括机构,上述权限控制方法还可以包括:定期查询用户在组织架构中的机构;获取所查询的机构对应的行权限,根据所查询到的行权限对用户的用户权限清单进行调整。
本实施例中嵌入了一个根据用户在人事系统中的组织架构自动更新用户默认机构权限的控制策略。因为行权限中机构权限通常跟用户在企业中归属机构有关,鉴于企业中组织架构调整还是比较常见的事情,组织架构调整就会引起的用户权限的变更,因此在机构权限这块采用跟企业人事系统中的组织架构信息进行关联,用户默认的机构权限通过用户账号去自动读取企业的人事信息表,找到用户在组织架构上所属的机构,将该机构作为用户默认具有的行权限中机构权限的权限范围,并在后台表中记录为该用户的行标签。
上述实施例中实现自动化应对企业组织架构变更引起的分析平台的用户的数据权限变化,减少信息壁垒导致信息获取延迟引起的数据权限未及时同步更新的问题。
在其中一个实施例中,列角色权限的生成方式包括:接收所定义的待进行列权限控制的模型表清单;构建模型表清单中各个模型表对应的指标,查询指标的源数据,并根据指标的源数据生成度量标签表;接收列角色创建指令,根据列角色创建指令创建列角色;接收针对所创建的列角色的度量标签选择指令,根据度量标签选择指令查询到对应的度量标签,并根据所查询到的度量标签创建列角色权限。
具体地,列权限是通过构建度量模型与集市模型的映射关系来进行全局的列权限控制。列权限实现方式可以包括:
首先定义需要进行列权限控制的集市层模型表清单。初次定义清单做一次初始化,将集市层的所有模型表中定义为列权限清单的打上标签,后续有新增的通过前端页面进行配置,系统自动将新增的表识别出来,配置用户从新增列表中勾选需要定义为列权限清单的表,则提交之后被勾选的表就自动打上了列权限标签。
其次,构建列权限清单中的集市模型表的度量标签表,系统自动读取列权限清单中的每个模型表中包含的指标,通过指标英文名称入参去调用接口查询指标标准源数据,返回指标对应的指标编码、指标名称、所属机构、所属条线、归属部门,形成列权限度量清单,存储表名、指标英文名、指标编码、指标名称、所属机构、所属条线、归属部门。
这样管理员在前端角色管理界面创建列角色,选择角色所属条线属性,则该列角色就被打上列权限标签条线,当用户被添加到这个角色中时,则用户直接继承该角色对应的列权限标签。
可选地,基于用户权限清单对所获取的数据进行权限控制后,输出对应范围的数据,包括:当用户权限清单中包括列角色权限时,则提取列角色权限的度量标签;根据度量标签查询到对应的指标;根据所查询到的指标对所获取的数据进列权限控制后,输出对应范围的数据。
具体地,当该角色中的用户打开一张报表时,系统通过用户去检索该用户的角色,当用户具有列权限角色时,系统读取该列角色的列权限标签所属条线,通过报表对应的集市层表名和所属条线去列权限度量清单中查找表名和所属条线匹配上的指标英文名称,后台根据匹配上的指标英文名称过滤该集市模型表中的指标数据,前端页面根据过滤后的数据给该用户进行报表展示,实现该用户在该报表上的度量权限的控制。
上述实施例中,由于数据是频繁刷新的,集市层的模型表的数据也是频繁变化,通过这种全局的数据权限的控制,当后台数据发生变化时如维度值增加或行权限类型增加或列权限类别增加,都只需在前端页面新增维度类型或新增集市模型表就可以实现行权限和列权限范围的扩展。新增了维度类型,后台自动根据维度类型关联维度表读取维度值展现在前端配置页面供权限配置人员进行选择。同样列权限增加,在前端页面新增集市层模型表,则在列权限配置页面系统自动读取后台数据库中该模型表的列展示出来供配置人员进行选择。
在其中一个实施例中,结合图3,并参见图4所示,针对权限管理采用支持分级管理的模式,分级管理包含横向和纵向两个方向的分级管理,横向是通过功能、资源、数据的权限分类管理,纵向通过人员的分类管理。
其中横向管理的实现方式为,上级管理员按照管理职责分配给用户权限范围内的功能模块、或报表资源范围或指标资源范围,并赋予用户管理和角色管理功能模块的权限,则该用户就成为管理用户,当用户登录到权限管理相关功能模块的时候,可管理的权限范围直接继承用户被赋予的角色的权限范围。
纵向管理的实现方式为,上级管理员创建角色的时候授予角色一个机构属性,则该添加到该角色中的管理用户就默认具备该角色所属机构范围的所有用户的管理权限。机构采用人事系统中的企业的组织架构树,包含企业的全部组织机构,因此不管未来系统推广到何层级机构使用,所依据的组织机构树上都会包含并随着企业的组织架构自动更新,能够灵活扩展。
具体地,上述权限控制方法还可以包括:接收用户管理请求,用户管理请求携带有用户标识;判断用户标识对应的角色权限中是否存在管理权限;当存在管理权限时,则显示角色权限,以进行角色管理。
当这个用户的菜单权限中包含用户管理和角色管理菜单,则该用户属于一名管理用户,进入用户管理和角色管理功能页面,可以去创建角色,页面展示给该管理用户可管理的范围为,系统通过该用户的用户名匹配出来的该用户所属角色所包含的功能、资源、数据权限的范围。
其中,管理员创建并管理应用角色,每个管理员只能创建和管理自己所分配的管理范围的功能或资源或数据的应用角色的创建及管理。通过这种策略做到岗位职能的清晰划分,在访问主体庞大所需权限多种的时候,每个管理员只需管理访问主体在自己管理范围内的权限控制,提高权限控制的针对性。
具体地,权限配置可以包括超级管理员创建普通管理角色以及超级管理员创建的普通管理角色生效后,所进行的响应权限范围内的应用角色创建及管理,具体地,包括:
具体地,超级管理员创建普通管理角色的权限配置步骤可以包括:
步骤一:当一个用户进入经分平台,服务器通过关联用户角色关系模型表和角色基础模型表识别出用户所属角色类型以及该角色的权限范围,当服务器识别出用户是超级管理员角色,则当该用户可进入权限管理模块,并且系统展示给超级管理员用户的是全部的功能列表或报表资源列表或指标资源列表,以及全量的经分用户。超级管理员创建普通管理角色,首先从角色类型中选择管理角色,如果系统管理方式是横向方式管理,并且系统规模无论从功能、资源还是数据上,以及管理人员的职责划分上不需要划分的很细的话,则管理角色类型下分角色大类为功能角色、资源角色、数据角色三个类别即可。
步骤二:超级管理员选择功能角色,点击授权,配置该角色可管理的权限范围,分三类的情况下功能管理角色要分别管理菜单功能和按钮功能,因此此项配置需要分别配置菜单功能管理范围和按钮功能管理范围,菜单管理范围即为系统的所有功能菜单的;按钮功能为系统的全局按钮,因此在此之前需要定义系统的全局按钮,例如分享、订阅、下载等需要根据角色权限进行控制的按钮都纳入此管理范围,配置完成菜单范围和按钮范围,则该功能管理角色的权限范围配置完成。
步骤三:超级管理员配置该功能角色用户范围,即授予哪些人员属于这个管理用户,添加到该角色里的人员都是可以管理上述权限范围的用户,假设添加了A用户为管理用户,那么A用户则可以创建并管理步骤二中配置给这个管理角色的权限范围的应用角色的创建。
步骤四:超级管理员选择管理角色-资源角色,点击授权,配置该角色可管理的权限范围,分三类的情况下,资源管理角色需要管理报表资源和指标资源,配置权限范围的时候,加载系统的全部报表和指标,超级管理员从中选择需要配置的这个资源管理角色管理的范围,提交之后完成这个角色的权限范围的配置。
步骤五:超级管理员给步骤四的资源管理角色配置用户范围,即授予哪些人员属于这个管理用户,添加到该角色的人员都是可以管理步骤四中的权限范围的,假设添加了B用户为管理用户,那么B用户则可以创建并管理步骤四中配置给该角色的权限范围的应用角色的创建。
步骤六:超级管理员选择管理角色-数据角色,点击授权,配置该角色可管理的权限范围,行权限管理范围,选择行管理维度,需要支持的行维度类型系统预先定义,权限配置的时候先选择该管理角色可管理的维度类型,再选择该角色可管理的维度值;配置列管理权限范围,列均是针对经分集市层的模型表的列,因此列管理范围是配置到集市模型表,选择该角色可管理的模型表即可。
步骤七:超级管理员给步骤六的角色配置用户范围,即授予哪些人员属于这个管理用户,添加到该角色的人员都是可以管理步骤六中的权限范围的,假设添加了C用户为管理用户,那么C用户则可以创建并管理步骤六中配置给该角色的权限范围的应用角色的创建
步骤八:以上7个步骤完成之后,服务器就完成了权限分级管理,将超级管理员的管理职责进行了划分,分别由不同的普通的管理员完成各自领域的管理职责,减轻了超级管理员的工作压力,也实现了权限管理的互相协同。用户A、用户B、用户C三类管理用户就分别从功能、资源、数据上进行应用用户的权限管理。若后续由于企业的发展,服务器的用户及功能资源数据都在不断增长,超级管理员只需根据系统的划分及管理规则新增创建不同的管理用户角色即可达到权限管理的灵活扩展。
超级管理员完成管理角色的创建,生效之后管理角色即可进行相应权限范围的应用角色创建及管理:
步骤一:用户A创建应用角色-功能角色,因为用户A是普通管理角色,因此器可见的角色类型中只有应用角色。用户A配置角色权限范围时可见范围仅为超级管理员配置权限步骤二中授予其对应角色范围,创建普通应用角色同样分为配置权限范围和用户范围;根据系统用户不同的权限分类创建不同的应用角色,权限分类有几种就创建几个应用角色,然后再给每个角色授予不同的权限范围和用户范围,用户根据机构和部门批量添加,提交之后就完成了功能角色的创建。后续各用户登录系统将根据用户所属角色对应的功能权限范围给用户展示权限范围内的菜单和按钮。
步骤二:用户B创建应用角色-资源角色,用户B配置角色的权限范围仅为超级管理员配置权限步骤四中授予他对应角色范围,根据不同类别的用户使用报表和指标的范围创建不同的角色,并将可访问的报表和指标添加到该角色权限范围,再将用户添加相应的角色中,这就完成了不同用户的资源权限的配置。后续用户登录系统将根据用户所属角色对应的资源角色权限范围给用户显示相应的报表和指标。
步骤三:用户C创建应用角色-数据角色,用户C选择权限类型,如选择行权限,则进一步选择维度类型,组织维度/险种维度/渠道维度,选择维度类型之后,显示该维度类型的值,选择可见的维度值,提交之后即完成行角色的设置;如选择列权限,则进一步选择模型表,选择模型表则展示表对应的所有字段,配置该角色可见的字段或不可见的字段,点击提交则完成列角色的配置。然后根据用户标签筛选用户范围,并将筛选出来的用户添加到角色中,完成权限范围标签与用户范围标签的关联。针对行权限的控制,用户权限范围内的所有报表如匹配上所设置的行标签则只展示满足条件的数据,全局控制。针对列权限控制,设置过的列,当有报表是根据这些列计算出来的,则这些报表数据在展现给该角色用户的时候根据列权限设置的范围进行展示。当用户标签发生变化的时候,用户就不满足该角色范围则自动从添加用户的时候不会被筛选出来也就自动从角色用户范围中移除,实现系统自动化调整用户权限。
应该理解的是,虽然图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图5所示,提供了一种权限控制装置,包括:第一接收模块100、角色权限读取模块200、用户权限清单生成模块300、第二接收模块400、数据获取模块500和权限控制模块600,其中:
第一接收模块100,用于接收用户登录请求,用户登录请求携带有用户标识;
角色权限读取模块200,用于读取与用户标识对应的用户角色,并获取用户角色对应的角色权限;
用户权限清单生成模块300,用于根据角色权限在横向数据维度和纵向数据维度上进行合并得到用户权限清单;
第二接收模块400,用于接收用户数据读取请求;
数据获取模块500,用于根据用户数据读取请求获取对应的数据;
权限控制模块600,用于基于用户权限清单对所获取的数据进行权限控制后,输出对应范围的数据。
在其中一个实施例中,横向数据维度包括第一横向维度和第二横向维度;用户权限清单生成模块300包括:
第一权限获取单元,用于在第一横向维度将角色权限取并集得到对应第一横向维度的用户权限;
第二权限获取单元,用于从角色权限中提取第二横向维度对应的行角色权限和列角色权限;
第三权限获取单元,用于将行角色权限和列角色权限取交集得到对应第二横向维度的用户权限;
生成单元,用于根据对应第一横向维度的用户权限和对应第二横向维度的用户权限得到用户权限清单。
在其中一个实施例中,上述权限控制装置可以包括:
第三接收模块,用于接收所定义的待进行行权限控制的维度以及维度信息;
维度模型生成模块,用于根据维度以及维度信息生成维度模型;
维度获取模块,用于获取报表需求,并根据报表需求获取对应的维度;
数据分析模型生成模块,用于获取报表需求对应的指标,根据指标和维度生成数据分析模型;
行权限建立模块,用于根据维度建立维度模型和数据分析模型的映射关系以得到待进行行权限控制的维度的行权限;
第四接收模块,用于接收行角色创建指令,根据行角色创建指令创建行角色;
第五接收模块,用于接收针对所创建的行角色的维度授权指令,根据维度授权指令查询到对应的维度,并将所查询到的维度的行权值赋值至所创建的行角色得到行角色权限。
在其中一个实施例中,上述的权限控制模块600包括:
提取单元,用于当用户权限清单中包括行角色权限时,则提取行角色权限的维度;
第一查询单元,用于查询与所提取的维度对应的维度模型和数据分析模型;
第一权限控制单元,用于根据维度模型和数据分析模型对所获取的数据进行行角色权限控制后,输出对应范围的数据。
在其中一个实施例中,行权限控制的维度包括机构,上述权限控制装置可以包括:
查询模块,用于定期查询用户在组织架构中的机构;
调整模块,用于获取所查询的机构对应的行权限,根据所查询到的行权限对用户的用户权限清单进行调整。
在其中一个实施例中,上述权限控制装置可以包括:
第六接收模块,用于接收所定义的待进行列权限控制的模型表清单;
构建模块,用于构建模型表清单中各个模型表对应的指标,查询指标的源数据,并根据指标的源数据生成度量标签表;
第七接收模块,用于接收列角色创建指令,根据列角色创建指令创建列角色;
第八接收模块,用于接收针对所创建的列角色的度量标签选择指令,根据度量标签选择指令查询到对应的度量标签,并根据所查询到的度量标签创建列角色权限。
在其中一个实施例中,上述的权限控制模块600包括:
提取单元,用于当用户权限清单中包括列角色权限时,则提取列角色权限的度量标签;
第二查询单元,用于根据度量标签查询到对应的指标;
第二权限控制单元,用于根据所查询到的指标对所获取的数据进列权限控制后,输出对应范围的数据。
在其中一个实施例中,上述权限控制装置可以包括:
第九接收模块,用于接收用户管理请求,用户管理请求携带有用户标识;
判断模块,用于判断用户标识对应的角色权限中是否存在管理权限;
角色管理模块,用于当存在管理权限时,则显示角色权限,以进行角色管理。
在其中一个实施例中,用户权限清单包括纵向维度,纵向维度包括集团维度、专业子公司维度、机构维度以及中支机构维度,横向维度包括功能维度、资源维度和数据维度;功能维度包括菜单子维度和按钮子维度,资源维度包括报表子维度和指标子维度,数据维度包括数据子维度和数据量度子维度。
关于权限控制装置的具体限定可以参见上文中对于权限控制方法的限定,在此不再赘述。上述权限控制装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储角色权限、用户权限清单等。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种权限控制方法。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:接收用户登录请求,用户登录请求携带有用户标识;读取与用户标识对应的用户角色,并获取用户角色对应的角色权限;根据角色权限在横向数据维度和纵向数据维度上进行合并得到用户权限清单;接收用户数据读取请求;根据用户数据读取请求获取对应的数据;基于用户权限清单对所获取的数据进行权限控制后,输出对应范围的数据。
在一个实施例中,处理器执行计算机程序时所涉及的横向数据维度包括第一横向维度和第二横向维度;根据角色权限在横向数据维度和纵向数据维度上进行合并得到用户权限清单,包括:在第一横向维度将角色权限取并集得到对应第一横向维度的用户权限;从角色权限中提取第二横向维度对应的行角色权限和列角色权限;将行角色权限和列角色权限取交集得到对应第二横向维度的用户权限;根据对应第一横向维度的用户权限和对应第二横向维度的用户权限得到用户权限清单。
在一个实施例中,处理器执行计算机程序时所涉及的行角色权限的生成方式包括:接收所定义的待进行行权限控制的维度以及维度信息;根据维度以及维度信息生成维度模型;获取报表需求,并根据报表需求获取对应的维度;获取报表需求对应的指标,根据指标和维度生成数据分析模型;根据维度建立维度模型和数据分析模型的映射关系以得到待进行行权限控制的维度的行权限;接收行角色创建指令,根据行角色创建指令创建行角色;接收针对所创建的行角色的维度授权指令,根据维度授权指令查询到对应的维度,并将所查询到的维度的行权值赋值至所创建的行角色得到行角色权限。
在一个实施例中,处理器执行计算机程序时所涉及的基于用户权限清单对所获取的数据进行权限控制后,输出对应范围的数据,包括:当用户权限清单中包括行角色权限时,则提取行角色权限的维度;查询与所提取的维度对应的维度模型和数据分析模型;根据维度模型和数据分析模型对所获取的数据进行行角色权限控制后,输出对应范围的数据。
在一个实施例中,处理器执行计算机程序时所涉及的行权限控制的维度包括机构,方法还包括:定期查询用户在组织架构中的机构;获取所查询的机构对应的行权限,根据所查询到的行权限对用户的用户权限清单进行调整。
在一个实施例中,处理器执行计算机程序时所涉及的列角色权限的生成方式包括:接收所定义的待进行列权限控制的模型表清单;构建模型表清单中各个模型表对应的指标,查询指标的源数据,并根据指标的源数据生成度量标签表;接收列角色创建指令,根据列角色创建指令创建列角色;接收针对所创建的列角色的度量标签选择指令,根据度量标签选择指令查询到对应的度量标签,并根据所查询到的度量标签创建列角色权限。
在一个实施例中,处理器执行计算机程序时所涉及的基于用户权限清单对所获取的数据进行权限控制后,输出对应范围的数据,包括:当用户权限清单中包括列角色权限时,则提取列角色权限的度量标签;根据度量标签查询到对应的指标;根据所查询到的指标对所获取的数据进列权限控制后,输出对应范围的数据。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:接收用户管理请求,用户管理请求携带有用户标识;判断用户标识对应的角色权限中是否存在管理权限;当存在管理权限时,则显示角色权限,以进行角色管理。
在一个实施例中,处理器执行计算机程序时所涉及的用户权限清单包括纵向维度,纵向维度包括集团维度、专业子公司维度、机构维度以及中支机构维度,横向维度包括功能维度、资源维度和数据维度;功能维度包括菜单子维度和按钮子维度,资源维度包括报表子维度和指标子维度,数据维度包括数据子维度和数据量度子维度。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:接收用户登录请求,用户登录请求携带有用户标识;读取与用户标识对应的用户角色,并获取用户角色对应的角色权限;根据角色权限在横向数据维度和纵向数据维度上进行合并得到用户权限清单;接收用户数据读取请求;根据用户数据读取请求获取对应的数据;基于用户权限清单对所获取的数据进行权限控制后,输出对应范围的数据。
在一个实施例中,计算机程序被处理器执行时所涉及的横向数据维度包括第一横向维度和第二横向维度;根据角色权限在横向数据维度和纵向数据维度上进行合并得到用户权限清单,包括:在第一横向维度将角色权限取并集得到对应第一横向维度的用户权限;从角色权限中提取第二横向维度对应的行角色权限和列角色权限;将行角色权限和列角色权限取交集得到对应第二横向维度的用户权限;根据对应第一横向维度的用户权限和对应第二横向维度的用户权限得到用户权限清单。
在一个实施例中,计算机程序被处理器执行时所涉及的行角色权限的生成方式包括:接收所定义的待进行行权限控制的维度以及维度信息;根据维度以及维度信息生成维度模型;获取报表需求,并根据报表需求获取对应的维度;获取报表需求对应的指标,根据指标和维度生成数据分析模型;根据维度建立维度模型和数据分析模型的映射关系以得到待进行行权限控制的维度的行权限;接收行角色创建指令,根据行角色创建指令创建行角色;接收针对所创建的行角色的维度授权指令,根据维度授权指令查询到对应的维度,并将所查询到的维度的行权值赋值至所创建的行角色得到行角色权限。
在一个实施例中,计算机程序被处理器执行时所涉及的基于用户权限清单对所获取的数据进行权限控制后,输出对应范围的数据,包括:当用户权限清单中包括行角色权限时,则提取行角色权限的维度;查询与所提取的维度对应的维度模型和数据分析模型;根据维度模型和数据分析模型对所获取的数据进行行角色权限控制后,输出对应范围的数据。
在一个实施例中,计算机程序被处理器执行时所涉及的行权限控制的维度包括机构,方法还包括:定期查询用户在组织架构中的机构;获取所查询的机构对应的行权限,根据所查询到的行权限对用户的用户权限清单进行调整。
在一个实施例中,计算机程序被处理器执行时所涉及的列角色权限的生成方式包括:接收所定义的待进行列权限控制的模型表清单;构建模型表清单中各个模型表对应的指标,查询指标的源数据,并根据指标的源数据生成度量标签表;接收列角色创建指令,根据列角色创建指令创建列角色;接收针对所创建的列角色的度量标签选择指令,根据度量标签选择指令查询到对应的度量标签,并根据所查询到的度量标签创建列角色权限。
在一个实施例中,计算机程序被处理器执行时所涉及的基于用户权限清单对所获取的数据进行权限控制后,输出对应范围的数据,包括:当用户权限清单中包括列角色权限时,则提取列角色权限的度量标签;根据度量标签查询到对应的指标;根据所查询到的指标对所获取的数据进列权限控制后,输出对应范围的数据。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:接收用户管理请求,用户管理请求携带有用户标识;判断用户标识对应的角色权限中是否存在管理权限;当存在管理权限时,则显示角色权限,以进行角色管理。
在一个实施例中,计算机程序被处理器执行时所涉及的用户权限清单包括纵向维度,纵向维度包括集团维度、专业子公司维度、机构维度以及中支机构维度,横向维度包括功能维度、资源维度和数据维度;功能维度包括菜单子维度和按钮子维度,资源维度包括报表子维度和指标子维度,数据维度包括数据子维度和数据量度子维度。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (12)
1.一种权限控制方法,其特征在于,所述方法包括:
接收用户登录请求,所述用户登录请求携带有用户标识;
读取与所述用户标识对应的用户角色,并获取所述用户角色对应的角色权限;
根据所述角色权限在横向数据维度和纵向数据维度上进行合并得到用户权限清单;
接收用户数据读取请求;
根据所述用户数据读取请求获取对应的数据;
基于所述用户权限清单对所获取的数据进行权限控制后,输出对应范围的数据。
2.根据权利要求1所述的方法,其特征在于,所述横向数据维度包括第一横向维度和第二横向维度;所述根据所述角色权限在横向数据维度和纵向数据维度上进行合并得到用户权限清单,包括:
在所述第一横向维度将所述角色权限取并集得到对应所述第一横向维度的用户权限;
从所述角色权限中提取所述第二横向维度对应的行角色权限和列角色权限;
将所述行角色权限和列角色权限取交集得到对应所述第二横向维度的用户权限;
根据对应所述第一横向维度的用户权限和对应所述第二横向维度的用户权限得到用户权限清单。
3.根据权利要求2所述的方法,其特征在于,所述行角色权限的生成方式包括:
接收所定义的待进行行权限控制的维度以及维度信息;
根据所述维度以及所述维度信息生成维度模型;
获取报表需求,并根据报表需求获取对应的维度;
获取所述报表需求对应的指标,根据所述指标和所述维度生成数据分析模型;
根据所述维度建立所述维度模型和所述数据分析模型的映射关系以得到待进行行权限控制的维度的行权限;
接收行角色创建指令,根据所述行角色创建指令创建行角色;
接收针对所创建的行角色的维度授权指令,根据所述维度授权指令查询到对应的维度,并将所查询到的维度的行权值赋值至所创建的行角色得到行角色权限。
4.根据权利要求3所述的方法,其特征在于,所述基于所述用户权限清单对所获取的数据进行权限控制后,输出对应范围的数据,包括:
当所述用户权限清单中包括行角色权限时,则提取所述行角色权限的维度;
查询与所提取的维度对应的维度模型和数据分析模型;
根据所述维度模型和所述数据分析模型对所获取的数据进行行角色权限控制后,输出对应范围的数据。
5.根据权利要求3所述的方法,其特征在于,所述行权限控制的维度包括机构,所述方法还包括:
定期查询用户在组织架构中的机构;
获取所查询的机构对应的行权限,根据所查询到的行权限对所述用户的用户权限清单进行调整。
6.根据权利要求2所述的方法,其特征在于,所述列角色权限的生成方式包括:
接收所定义的待进行列权限控制的模型表清单;
构建所述模型表清单中各个模型表对应的指标,查询所述指标的源数据,并根据所述指标的源数据生成度量标签表;
接收列角色创建指令,根据所述列角色创建指令创建列角色;
接收针对所创建的列角色的度量标签选择指令,根据所述度量标签选择指令查询到对应的度量标签,并根据所查询到的度量标签创建列角色权限。
7.根据权利要求6所述的方法,其特征在于,所述基于所述用户权限清单对所获取的数据进行权限控制后,输出对应范围的数据,包括:
当所述用户权限清单中包括列角色权限时,则提取所述列角色权限的度量标签;
根据所述度量标签查询到对应的指标;
根据所查询到的指标对所获取的数据进列权限控制后,输出对应范围的数据。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收用户管理请求,所述用户管理请求携带有用户标识;
判断所述用户标识对应的所述角色权限中是否存在管理权限;
当存在管理权限时,则显示所述角色权限,以进行角色管理。
9.根据权利要求1至8任意一项所述的方法,其特征在于,所述用户权限清单包括所述纵向维度,所述纵向维度包括集团维度、专业子公司维度、机构维度以及中支机构维度,所述横向维度包括功能维度、资源维度和数据维度;所述功能维度包括菜单子维度和按钮子维度,所述资源维度包括报表子维度和指标子维度,所述数据维度包括数据子维度和数据量度子维度。
10.一种权限控制装置,其特征在于,所述装置包括:
第一接收模块,用于接收用户登录请求,所述用户登录请求携带有用户标识;
角色权限读取模块,用于读取与所述用户标识对应的用户角色,并获取所述用户角色对应的角色权限;
用户权限清单生成模块,用于根据所述角色权限在横向数据维度和纵向数据维度上进行合并得到用户权限清单;
第二接收模块,用于接收用户数据读取请求;
数据获取模块,用于根据所述用户数据读取请求获取对应的数据;
权限控制模块,用于基于所述用户权限清单对所获取的数据进行权限控制后,输出对应范围的数据。
11.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至9中任一项所述的方法的步骤。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至9中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111399042.3A CN113821777B (zh) | 2021-11-24 | 2021-11-24 | 权限控制方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111399042.3A CN113821777B (zh) | 2021-11-24 | 2021-11-24 | 权限控制方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113821777A true CN113821777A (zh) | 2021-12-21 |
CN113821777B CN113821777B (zh) | 2022-03-18 |
Family
ID=78918117
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111399042.3A Active CN113821777B (zh) | 2021-11-24 | 2021-11-24 | 权限控制方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113821777B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115098536A (zh) * | 2022-08-24 | 2022-09-23 | 长沙广立微电子有限公司 | 半导体数据查询方法、装置、电子设备以及存储介质 |
CN115170090A (zh) * | 2022-07-27 | 2022-10-11 | 海南绿境高科环保有限公司 | 一种项目管理方法、装置、电子设备及可读存储介质 |
CN115630387A (zh) * | 2022-12-08 | 2023-01-20 | 爱集微咨询(厦门)有限公司 | 数据处理方法、装置、电子设备以及可读存储介质 |
CN116028963A (zh) * | 2023-03-27 | 2023-04-28 | 美云智数科技有限公司 | 权限管理方法、装置、电子设备及存储介质 |
CN116702111A (zh) * | 2023-08-02 | 2023-09-05 | 中国物品编码中心 | 一种网页表单数据权限控制方法和计算机存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101673375A (zh) * | 2009-09-25 | 2010-03-17 | 金蝶软件(中国)有限公司 | 一种工资系统数据授权的方法及系统 |
US20190238542A1 (en) * | 2018-01-26 | 2019-08-01 | Vmware, Inc. | Role-template-based batch management of tenant-specific roles and rights in a computing system |
CN110807201A (zh) * | 2019-10-31 | 2020-02-18 | 珠海格力电器股份有限公司 | 一种多维度数据权限管理系统及方法 |
CN113297550A (zh) * | 2021-06-17 | 2021-08-24 | 中国农业银行股份有限公司 | 权限控制的方法、装置、设备、存储介质及程序产品 |
-
2021
- 2021-11-24 CN CN202111399042.3A patent/CN113821777B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101673375A (zh) * | 2009-09-25 | 2010-03-17 | 金蝶软件(中国)有限公司 | 一种工资系统数据授权的方法及系统 |
US20190238542A1 (en) * | 2018-01-26 | 2019-08-01 | Vmware, Inc. | Role-template-based batch management of tenant-specific roles and rights in a computing system |
CN110807201A (zh) * | 2019-10-31 | 2020-02-18 | 珠海格力电器股份有限公司 | 一种多维度数据权限管理系统及方法 |
CN113297550A (zh) * | 2021-06-17 | 2021-08-24 | 中国农业银行股份有限公司 | 权限控制的方法、装置、设备、存储介质及程序产品 |
Non-Patent Citations (2)
Title |
---|
NINGHUI LI 等: "Beyond proof-of-compliance: safety and availability analysis in trust management", 《2003 SYMPOSIUM ON SECURITY AND PRIVACY, 2003》 * |
何雪宁: "访问控制的权限委托模型研究与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115170090A (zh) * | 2022-07-27 | 2022-10-11 | 海南绿境高科环保有限公司 | 一种项目管理方法、装置、电子设备及可读存储介质 |
CN115098536A (zh) * | 2022-08-24 | 2022-09-23 | 长沙广立微电子有限公司 | 半导体数据查询方法、装置、电子设备以及存储介质 |
CN115630387A (zh) * | 2022-12-08 | 2023-01-20 | 爱集微咨询(厦门)有限公司 | 数据处理方法、装置、电子设备以及可读存储介质 |
CN115630387B (zh) * | 2022-12-08 | 2024-02-20 | 爱集微咨询(厦门)有限公司 | 数据处理方法、装置、电子设备以及可读存储介质 |
CN116028963A (zh) * | 2023-03-27 | 2023-04-28 | 美云智数科技有限公司 | 权限管理方法、装置、电子设备及存储介质 |
CN116028963B (zh) * | 2023-03-27 | 2023-06-30 | 美云智数科技有限公司 | 权限管理方法、装置、电子设备及存储介质 |
CN116702111A (zh) * | 2023-08-02 | 2023-09-05 | 中国物品编码中心 | 一种网页表单数据权限控制方法和计算机存储介质 |
CN116702111B (zh) * | 2023-08-02 | 2023-11-14 | 中国物品编码中心 | 一种网页表单数据权限控制方法和计算机存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113821777B (zh) | 2022-03-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113821777B (zh) | 权限控制方法、装置、计算机设备和存储介质 | |
US10148661B2 (en) | Visualization of access permission status | |
US10872162B2 (en) | Role-based security policy for an object-oriented database system | |
JP4571746B2 (ja) | アプリケーション機能に対するアクセスを選択的に規定するためのシステムおよび方法 | |
US9984240B2 (en) | Visualization of access permission status | |
US7756890B2 (en) | Semantic identities | |
US7308704B2 (en) | Data structure for access control | |
US20070088744A1 (en) | System and method for automatic directory management in server environments | |
CN111966866A (zh) | 一种数据资产管理的方法和装置 | |
CN112100658A (zh) | 医疗系统及其权限管理方法 | |
CN111694615A (zh) | 数据配置的方法、装置、设备及存储介质 | |
US20150058363A1 (en) | Cloud-based enterprise content management system | |
DE102021123058A1 (de) | Maskieren von sensiblen informationen in einem dokument | |
CN104182226B (zh) | 一种通用移动信息系统适配方法与装置 | |
CN111177700A (zh) | 行级权限的控制方法及装置 | |
JP2003108440A (ja) | データ公開方法、データ公開プログラム、データ公開装置 | |
CN117499124A (zh) | 一种访问控制方法及装置 | |
CN113129155A (zh) | 多类型人员信息处理方法、设备及存储介质 | |
CN108415988A (zh) | 一种基于层级和权限的自定义常用搜索系统及方法 | |
US20120066222A1 (en) | Web architecture for green design and construction | |
US11537603B2 (en) | System and method for SQL server resources and permissions analysis in identity management systems | |
CN115543428A (zh) | 一种基于策略模板的模拟数据生成方法和装置 | |
CN115098572A (zh) | 用户画像构建方法、装置和计算机设备 | |
CN113055337B (zh) | 基于用户需求设定权限的方法、装置、存储介质及终端 | |
CN117150542A (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 |