一种访问权限设置方法和访问权限控制方法技术

技术编号:36983032 阅读:10 留言:0更新日期:2023-03-25 18:01
本申请公开了一种访问权限设置方法和访问权限控制方法,访问权限设置方法包括:在图数据库中存储组织机构信息及组织机构之间的隶属关系、栏目信息以及栏目之间的隶属关系;若接收到禁止第一组织机构访问第一栏目的指令,则创建第一组织机构与第一栏目之间的禁止访问关系,禁止访问关系指示第一组织机构及其所有下属组织机构均无权访问第一栏目及其所有下属子栏目。本申请利用图数据库对递归关系的固有优势进行访问权限的设置和查询,并且通过禁止访问关系来确定组织机构对栏目的访问权限,由此在访问权限查询中通过排除少量栏目获得组织机构可以访问的栏目列表,提高数据计算量,提高了查询速度,由此可以支持高并发量访问权限查询。访问权限查询。访问权限查询。

【技术实现步骤摘要】
一种访问权限设置方法和访问权限控制方法


[0001]本申请涉及计算机
,更具体地,涉及一种访问权限设置方法和访问权限控制方法。

技术介绍

[0002]传统的内容管理系统里的栏目、文章通常是没有阅读权限控制的,网站的访问者可以无限制地阅读所有的栏目和文章。但是,企业内部的新型内容管理系统存在对栏目和文章设定权限的需求,需要限定一些栏目只能被特定组织机构下的用户阅读。
[0003]在控制组织机构对栏目的访问权限时,由于组织机构是一个树状结构,栏目也是一个树状结构,因此权限控制具有递归性:如果一个组织机构被禁止访问一个栏目,那么它不能访问这个栏目下的所有子栏目,以及这个组织机构下的子机构不能访问这个栏目以及这个栏目下的子栏目。
[0004]通常在一个企业内有上千个组织机构,每个组织机构下会有一些用户,合计用户数量从数万到数十万不等,一个企业下面有几百个栏目,每个栏目的子栏目下有一些文章,合计文章数量从几十万到数百万不等,并且随着时间的发展,文章的数量会越来越多。
[0005]权限控制的目标是:当一个用户点击某个栏目时,需要首先进行权限判断,即快速列出该栏目下用户有权访问的所有栏目的列表,这个权限判断需要满足较高的性能要求,使用一般的云服务器每秒需要支持上百次带权限判断的栏目列表查询。
[0006]现有技术,使用关系型数据库(例如MySQL)进行访问权限的控制。但是,如果在MySQL这类型的数据库中存储和处理这些权限信息,涉及到的递归操作不仅需要做大量的数据库优化,而且代码复杂,使用“空间换时间”的做法会产生大量的数据,给新建规则、查询规则带来巨大的时间和空间成本。
[0007]另外一方面,栏目、组织机构的权限控制是一个被高频使用的接口,用户每次打开列表页或者点击一篇文章就会发生一次或者多次权限控制判断,这对权限控制逻辑的响应性能提出了较高的要求。但是,关系型数据库在处理深层级的递归时效率很低。如果使用关系型数据库来计算这种权限控制关系,一台普通配置的数据库服务器可能需要大量的时间,从而降低系统的响应性能和并发处理能力。实际测试表明在有1000多个组织机构和1000多个栏目的时候,如果使用关系型数据库每秒仅能完成几次到十几次权限判断。

技术实现思路

[0008]本申请提供一种访问权限设置方法和访问权限控制方法,利用图数据库对递归关系的固有优势进行访问权限的设置和查询,并且通过组织机构与栏目之间的禁止访问关系来确定组织机构对栏目的访问权限,由此在访问权限查询中通过排除少量栏目获得组织机构可以访问的栏目列表,提高数据计算量,提高了查询速度,由此可以支持高并发量访问权限查询。
[0009]本申请提供了一种访问权限设置方法,包括:
[0010]在图数据库中存储组织机构信息及组织机构之间的隶属关系、栏目信息以及栏目之间的隶属关系;
[0011]若接收到禁止第一组织机构访问第一栏目的指令,则创建第一组织机构与第一栏目之间的禁止访问关系,禁止访问关系指示第一组织机构及其所有下属组织机构均无权访问第一栏目及其所有下属子栏目。
[0012]优选地,访问权限设置方法还包括:
[0013]若接收到第二栏目的访问受限指令,则创建第二栏目的受限标志字段;
[0014]接收允许访问第二栏目的第一用户列表和/或第一组织机构列表;
[0015]创建第一用户列表中的每个第一用户与第二栏目之间的允许访问关系和/或第一组织机构列表中的每个第三组织机构与第二栏目之间的允许访问关系。
[0016]优选地,访问权限设置方法还包括:
[0017]若接收到第一文章的访问受限指令,则创建第一文章的受限标志字段;
[0018]接收允许访问第一文章的第二组织机构列表;
[0019]创建第二组织机构列表中每个第二组织机构与第一文章之间的允许访问关系。
[0020]优选地,若第二组织机构为非叶子节点,则第二组织机构列表包括第二组织机构的所有下属组织机构。
[0021]优选地,访问权限设置方法还包括:
[0022]若接收到第二文章的访问受限指令,则创建第二文章的受限标志字段;
[0023]接收允许访问第二文章的第二用户列表;
[0024]创建第二用户列表中的每个第二用户与第二文章之间的允许访问关系。
[0025]本申请还提供一种访问权限控制方法,包括:
[0026]响应于第三用户点击第三栏目,确定第三用户直属的第四组织机构;
[0027]依据第四组织机构对栏目的禁止访问关系在图数据库中查询第三栏目下允许第四组织机构访问的第一栏目列表;
[0028]获取第一栏目列表中的文章列表并输出。
[0029]优选地,访问权限控制方法还包括:
[0030]响应于第四用户点击第四栏目,确定第四用户直属的第五组织机构;
[0031]依据第四用户与栏目的允许访问关系和第五组织机构与栏目的允许访问关系在图数据库中查询第四栏目下允许第四用户访问的第二栏目列表;
[0032]依据第四用户和第五组织机构与文章的允许访问关系在第二栏目列表中确定允许第四用户访问的文章列表并输出。
[0033]优选地,依据第五组织机构与栏目的允许访问关系获取第四栏目下允许第五组织机构访问的具有受限标志字段的栏目列表,依据第四用户与栏目的允许访问关系获取第四栏目下允许第四用户访问的具有受限标志字段的栏目列表。
[0034]优选地,依据第四用户与文章的允许访问关系获取允许第四用户访问的具有受限标志字段的文章,依据第五组织机构与文章的允许访问关系获取允许第五组织机构访问的具有受限标志字段的文章。
[0035]优选地,搜索引擎中存储文章名称、文章的详细数据、组织机构与文章的允许访问关系以及用户与文章的允许访问关系。
[0036]通过以下参照附图对本申请的示例性实施例的详细描述,本申请的其它特征及其优点将会变得清楚。
附图说明
[0037]被结合在说明书中并构成说明书的一部分的附图示出了本申请的实施例,并且连同其说明一起用于解释本申请的原理。
[0038]图1为本申请提供的访问权限设置方法的流程图;
[0039]图2为本申请提供的粗粒度的访问权限设置的示意图;
[0040]图3为本申请提供的细粒度的访问权限设置的示意图;
[0041]图4为本申请提供的粗粒度的访问权限控制方法的流程图;
[0042]图5为本申请提供的细粒度的访问权限控制方法的流程图。
具体实施方式
[0043]现在将参照附图来详细描述本申请的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本申请的范围。
[0044]以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本申请及其应用或使用的任何限制。
[0045]对于相关领域普通技术人员已知的技术、方法和设备可能不本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种访问权限设置方法,其特征在于,包括:在图数据库中存储组织机构信息及组织机构之间的隶属关系、栏目信息以及栏目之间的隶属关系;若接收到禁止第一组织机构访问第一栏目的指令,则创建所述第一组织机构与所述第一栏目之间的禁止访问关系,所述禁止访问关系指示所述第一组织机构及其所有下属组织机构均无权访问所述第一栏目及其所有下属子栏目。2.根据权利要求1所述的访问权限设置方法,其特征在于,还包括:若接收到第二栏目的访问受限指令,则创建所述第二栏目的受限标志字段;接收允许访问所述第二栏目的第一用户列表和/或第一组织机构列表;创建所述第一用户列表中的每个第一用户与所述第二栏目之间的允许访问关系和/或所述第一组织机构列表中的每个第三组织机构与所述第二栏目之间的允许访问关系。3.根据权利要求1所述的访问权限设置方法,其特征在于,还包括:若接收到第一文章的访问受限指令,则创建所述第一文章的受限标志字段;接收允许访问所述第一文章的第二组织机构列表;创建所述第二组织机构列表中每个第二组织机构与所述第一文章之间的允许访问关系。4.根据权利要求3所述的访问权限设置方法,其特征在于,若所述第二组织机构为非叶子节点,则所述第二组织机构列表包括所述第二组织机构的所有下属组织机构。5.根据权利要求1所述的访问权限设置方法,其特征在于,还包括:若接收到第二文章的访问受限指令,则创建所述第二文章的受限标志字段;接收允许访问所述第二文章的第二用户列表;创建所述第二用户列表中的每个第二用户与所述第二文章之间的允许访问关系。6.一种访问...

【专利技术属性】
技术研发人员:唐峻杨帆刘海恩唐俊陶刚李欣明杨传真李淳余洋李忠态罗晖于中江倪朝霞
申请(专利权)人:云南中烟工业有限责任公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1