【技术实现步骤摘要】
一种访问控制方法、装置及计算机可读存储介质
本专利技术属于权限管理领域,具体涉及一种访问控制方法、装置及计算机可读存储介质。
技术介绍
本部分旨在为权利要求书中陈述的本专利技术的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。权限管理一般涉及功能权限管理和数据权限管理。其中,功能权限通常基于成熟的RBAC(基于角色的权限访问控制)机制实现;而针对数据权限管理的通用化技术不多,一般采用将数据权限逻辑集成到具体的业务代码中。当前,管理类系统通常则存在着“弱账户强业务”的特点,然而现有的数据权限实现方式存在以下问题(1)动态化授权导致权限判定复杂,业务资源通常会在各类角色或用户中动态化流转;当需要判定权限关系时,需要追溯大量业务场景,判定逻辑复杂。(2)隐性依赖关系导致权限边界界定模糊,在管理类系统中,业务资源之间有时会存在业务关系上的隐性依赖,继而带来授权关系上的隐性继承,由此导致业务资源的权限边界界定规则不清晰。例如,在采购系统中,由需求部门员工提出采购需求,需求部门员工具有访问该采购 ...
【技术保护点】
1.一种访问控制方法,其特征在于,包括:/n接收用户的访问请求,所述访问请求包含用户信息和目标业务资源;/n根据所述用户信息确定所述用户的资源权限树,其中,预先根据多个业务资源和多个用户之间的授权关系以及所述多个业务资源之间的依赖关系构建各个用户的资源权限树;/n根据所述用户的资源权限树,判定所述用户能否访问所述目标业务资源。/n
【技术特征摘要】 【专利技术属性】
1.一种访问控制方法,其特征在于,包括:
接收用户的访问请求,所述访问请求包含用户信息和目标业务资源;
根据所述用户信息确定所述用户的资源权限树,其中,预先根据多个业务资源和多个用户之间的授权关系以及所述多个业务资源之间的依赖关系构建各个用户的资源权限树;
根据所述用户的资源权限树,判定所述用户能否访问所述目标业务资源。
2.根据权利要求1所述的方法,其中,所述各个用户的资源权限树分别以所属用户为根节点,所述方法还包括:
根据所述用户信息进行根节点匹配,以确定所述用户的资源权限树。
3.根据权利要求1所述的方法,其特征在于,创建所述各个用户的资源权限树,还包括:
响应于预设触发事件,提取各个业务资源和指定用户之间的授权关系,形成授权关系库;
校验各个业务资源的独立性,若任意一个业务资源依赖另一个业务资源而运行,则生成所述任意一个业务资源和所述另一个业务资源之间的依赖关系,形成依赖关系库;
根据所述授权关系库和所述依赖关系库,并利用有向图算法创建所述各个用户的资源权限树。
4.根据权利要求3所述的方法,其特征在于,所述预设触发事件包括:
所述各个业务资源的创建事件、转交事件、审核事件、订阅事件中的任意一种或多种。
5.根据权利要求3所述的方法,其特征在于,根据所述授权关系库和所述依赖关系库,并利用有向图算法创建所述各个用户的资源权限树,还包括:
确定第一用户的资源权限树的根节点为所述第一用户,其中所述第一用户为所述授权关系库中包含的任意一个用户;
根据所述根节点遍历所述授权关系库以获取第一类业务资源,并根据所述第一类业务资源确定所述第一用户的资源权限树的第一层子节点;
根据所述第一类业务资源遍历所述依赖关系库以获取第二类业务资源,并根据所述第二类业务资源确定所述第一用户的资源权限树的第二层至第N层子节点,所述N为大于或等于2的正整数。
6.根据权利要求5所述的方法,其特征在于,确定所述第一用户的资源权限树的第二层至第N层子节点,还包括:
确定所述资源权限树的当前最高层子节点;
根据所述当前最高层子节点遍历所述依赖关系库,获取与所述当前最高层子节点具有依赖关系的指定业务资源,根据所述指定业务资源确定所述当前最高层子节点的上一层子节点;
迭代执行以上步骤,直至所述第一用户的资源权限树的层级高度固定。
7.根据权利要求3所述的方法,其特征在于,还包括:
接收新增授权关系和/或新增依赖关系,对所述各个用户的资源权限树进行动态刷新。
8.根据权利要求3所述的方法,其特征在于,根据所述用户的资源权限树,判定所述用户能否访问所述目标业务资源,还包括:
根据广度优先搜索算法遍历所述用户的资源权限树,若所述目标业务资源和所述用户的资源权限树的任意一个子节点匹配,则允许所述用户访问所述目标业务资源。
9.一种访问控制装置,其特征在于,包括:
接收单元,用于接收用户的访问请求,所述访问请求包含用户信息和目标业务资源;
确定单元,用于根据所述用户信息确定所述用户的资源权限树,其中,预先根据多个业务资源和多个用户之间的授权关系以及所述多个业务资源之间的依赖关系构建各个用户的资源权限树;
技术研发人员:王忠钊,陈煜,周继恩,尹祥龙,王培林,邓昶,袁野,
申请(专利权)人:中国银联股份有限公司,
类型:发明
国别省市:上海;31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。