首页> 中国专利> 基于RABC的企业文件协作与访问控制方法及系统

基于RABC的企业文件协作与访问控制方法及系统

摘要

本发明提供基于RABC的企业文件协作与访问控制方法及系统,在RABC模型中将企业内用户、外部协作者以及群组经过配置后得到协作关系,参与企业文件的协作。本发明通过角色的权限对所述企业内用户、外部协作者以及群组中对应的角对原来的模型进行扩展,引入群组与外部协作者概念,使得控制管理更为方便和灵活。本发明能够让角色与用户、群组分离,角色与权限分离,每个用户拥有一个角色,每个角色拥有对应的权限集合;用户可以通过变换角色对不同文件或者文件夹拥有不同的协作权限,角色和权限的对应关系自动调整;用户的访问控制通过用户在文件上的角色判定是否拥有相应操作权限项。本发明简化访问控制实现难度,前置权限验证设定后置角色权限验证。

著录项

  • 公开/公告号CN105760774A

    专利类型发明专利

  • 公开/公告日2016-07-13

    原文格式PDF

  • 申请/专利权人 杭州亿方云网络科技有限公司;

    申请/专利号CN201610068746.5

  • 申请日2016-01-29

  • 分类号G06F21/62(20130101);G06F17/30(20060101);

  • 代理机构北京科亿知识产权代理事务所(普通合伙);

  • 代理人汤东凤

  • 地址 310007 浙江省杭州市西湖区天目山路294号杭钢冶金科技大厦18楼

  • 入库时间 2023-06-19 00:06:42

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-03-10

    专利权的转移 IPC(主分类):G06F21/62 登记生效日:20200220 变更前: 变更后: 申请日:20160129

    专利申请权、专利权的转移

  • 2018-11-06

    授权

    授权

  • 2016-08-10

    实质审查的生效 IPC(主分类):G06F21/62 申请日:20160129

    实质审查的生效

  • 2016-07-13

    公开

    公开

说明书

技术领域

本发明涉计算机系统的安全技术领域,尤其是在云存储环境下的企业文件协作与访问控制。

背景技术

随着互联网技术的迅速发展,企业文件逐步把文档从纸质转变为电子文档。企业文档的管理多采用本地化部署方式进行管理,这种方式具有明显的弊端。首先不能进行联网协作,文档之间的交流一般采用FTP方式进行传输,当遇到多文档的时候,传输的代价将变得愈发大;其次,文档很难规整和查询,当用户想找到某个想要的文档时,只能通过文件名字进行查询,在浩瀚的文档海洋里,想找到自己想要的文档变得极其困难。传统的文档管理方式已经难以适应企业文档管理的需求。

随着云计算技术的发展,企业文档管理的SAAS服务已经出现,但现阶段的SAAS文档管理服务都是针对一个企业内文档的管理,对于跨企业文档协作还不能很好的支持,这在大多数情况下受限于传统的RABC模型。在传统的RABC模型下,角色是首先在企业内的,对于企业外的角色参与协作不能够支持,这就限定了企业文档的使用和传播范围。为了解决这种问题,现有的方案都是通过个人社交软件进行传输,只是点对点的传输。对于多人或者部门间的文档协作,这种方式弊端也很明显,不仅很难批量操作,而且不能够对文档的访问控制进行有效的管理。

发明内容

本发明要解决的技术问题是,针对现有技术中的不足,本发明就是为了解决在云计算环境下企业间文件协作和访问控制,在基于RABC模型并改进后,能够支持企业文档的外部协作,解决企业文档传输和管理过程中的权限控制问题,对于一对多、多对多的文档协作场景进行了更友好的支持。

为了实现上述目的,本发明所采取的方案如下:

基于RABC的企业文件协作与访问控制方法,包括,

将主体设置为用户和群组,所述用户包括企业内用户和外部协作者,所述群组中至少包括一个企业用户;

所述企业内用户、外部协作者以及群组经过配置后得到协作关系,参与所述企业文件的协作;

根据所述协作关系进行角色配置;

通过所述用户或者群组在所述企业文件上的所述角色的权限,判定是否拥有相应的访问、协作权限;

在进行协作时,根据所述角色的权限对所述企业内用户、外部协作者以及群组中对应的角色权限进行校验;

若校验成功,则允许主体对企业文件进行访问。

更进一步,所述群组是一用户组织实体,与所述企业内用户具有相同的文件操作权限;

所述外部协作者包括一个人用户或者外部企业用户,与企业内用户具有相同的文件操作权限。

更进一步,对于同一个企业文件设置有至少一个权限,对同一个企业文件可以具有一个或者多个协作关系,包括用户或者群组。

更进一步,根据所述协作关系进行角色配置的方法为:

所述群组或者用户在不同的文件上具有不同的角色,或者在同一个文件上具有一个或者多个协作关系;

所述群组或者用户对应设置至少一个角色,所述角色中设置有不同的操作权限,包括的操作者为:所有者、共同所有者、编辑者、查看者+上传者、查看者、预览者、上传者;

所述群组或者用户的协作关系通过具有协作编辑权限的角色:所述编辑者、共同所有者以及所有者进行设置。

更进一步,所述用户或群组在每个文件夹上对应不同角色,在创建所述协作关系时,所述编辑者、共同所有者或者需要所有者,在企业文件上选定协作者和协作角色:

建立所述协作关系{文件,协作者,协作角色};

将所述协作关系传输到后台服务器,对协作关系和操作者的权限进行访问控制;

根据用户在文件上的角色以及该操作所需的权限进行鉴权;

将所述协作关系记录在数据库中,所述协作关系包括如下的字段:

协作编号、协作文件编号、文件拥有者编号、协作者编号、协作角色、协作者企业编号;

当用户或者群组加入文件夹的协作时,

通过所述协作者企业编号与文件拥有者的企业编号对比,来判定是否属于同一个企业,若是,则属于同一个企业,若不是,则不属于同一个企业。

更进一步,所述用户或群组,对企业文件进行协作时,

生成一条协作记录,所述记录包括:文件编号、协作者编号、文件拥有者编号、协作者企业编号,

通过对比所述协作者企业编号和文件拥有者的企业编号,判断当前用户是否为外部协作者,进行权限范围限定。

更进一步,将所述角色设置为集合R1,R2…Rn,权限设置为集合C1,C2,…Cn,在所述集合Rn中的每个角色对应不同的权限集合Cn,所述Cn用以实现对文件或者文件夹的不同操作。

更进一步,所述鉴权方法为:

根据访问接口配置限定,获取当前操作所需操作权限;

根据当前操作对象的类型,通过路由分发然后进行进行权限验证;

按照当前操作对象,获取该对象的所有父节点,获取当前用户在当前对象以及所有祖先节点上参与的所有协作或者群组协作的协作关系集合;

获取所有协作关系集合的角色集合,计算出每个角色的权限,最终获取角色具有权限的并集,得到当前角色对该对象拥有的权限集合;

若所述访问接口配置的所需操作权限在用户对该对象拥有的操作权限集合内,则通过鉴权;若否,则未通过鉴权。

本发明还提供了一种基于RABC的企业文件协作与访问控制系统,其特征在于包括:

生成模块,用以将主体设置为用户和群组,所述用户包括企业内用户和外部协作者,所述群组中至少包括一个企业用户;

配置模块,用以对所述企业内用户、外部协作者以及群组经过配置后得到协作关系,参与所述企业文件的协作;

协作关系模块,用以根据所述协作关系进行角色配置;

权限模块,用以通过所述用户或者群组在所述企业文件上的所述角色的权限,判定是否拥有相应的访问和协作权限;

校验模块,用以在进行协作时,根据所述角色的权限对所述企业内用户、外部协作者以及群组中对应的角色权限进行校验;若校验成功,则允许主体对企业文件进行协作和访问。

更进一步,所述配置模块,用以建立角色集合,根据用户的角色集合,在所述校验模块计算出每个角色所具有的权限项,对所有角色对应权限项的并集后,与当前访问限定的访问权限进行比较,用以判断用户是否拥有该文件的访问权限,所述配置模块用以前置配置,所述校验模块用以后置验证。

本发明的有益效果:

1)本发明可以简化协作管理,当多人需要对不同文档进行协作时,不需要逐个邀请协作,只需要邀请一个群组就可以实现。

2)本发明可以实现企业间的协作,以及企业和个人的协作,使得企业文档利用最大化,协作更加方便。

3)本发明可以实现用户在同一个文档上具有多个权限,同一个文档可以具有一个或者多个协作关系,可以是用户,也可以是群组。

4)本发明简化访问控制实现难度,只需要前置权限验证设定,后置角色权限验证,访问控制变得更为灵活。

附图说明

图1为本发明的模型结构示意图;

图2为本发明的协作关系创建流程图;

图3为本发明的权限验证流程图。

图4是本发明一实施例中的鉴权方法流程示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。

请参考图1,为本发明一实施例中的基于RABC的企业文件协作与访问控制方法流程示意图。

基于RABC的企业文件协作与访问控制方法,包括,

步骤S101将主体设置为用户和群组,所述用户包括企业内用户和外部协作者,所述群组中至少包括一个企业用户;

步骤S102所述企业内用户、外部协作者以及群组经过配置后得到协作关系,参与所述企业文件的协作;

步骤S103根据所述协作关系进行角色配置;

步骤S104通过所述用户或者群组在所述企业文件上的所述角色的权限,判定是否拥有相应的访问、协作权限;

步骤S105在进行协作时,根据所述角色的权限对所述企业内用户、外部协作者以及群组中对应的角色权限进行校验;根据用户的角色集合,计算出每个角色所具有的权限项,对所有角色对应权限项的并集后,与当前访问限定的访问权限进行比较和计算,从而判断用户是否拥有该文档的访问权限。

在本实施例中的技术效果为:由于访问控制采取前置配置,后置验证的方式,一方面使得访问控制设置变得简单,另一方面也是的访问控制变得更为灵活。

步骤S106若校验成功,则允许主体对企业文件进行访问。由于每个实体对文件进行协作时,将会生成一条协作记录,这条记录将会记录文档编号、协作者编号、文档拥有者编号、协作者企业编号。通过对比协作者企业编号和文档拥有者的企业编号,判断当前用户是否是外部协作者,从而限定操作实体的权限范围。

在本实施例中的有益效果为:由于访问控制根据访问方法所设定的权限进行控制用户是否能够访问。在进行访问控制时,当用户进行访问时,会计算当前文档下,该用户所拥有的全部协作角色,在RABC模型中,每个角色对应不同权限项。

在本实施例中,由于所述用户包括企业内用户和外部协作者,所述群组中至少包括一个企业用户。基于RABC的角色主体分为用户、群组、外部协作者。

所述用户是一个企业的用户,是协作和访问控制的最基本实体;

所述群组是企业用户的一个组织形式,也是协作的主体,同时,群组是企业内一群具有相同业务需求的用户集合;

所述外部协作者也是一个用户,但这个用户不是所协作文档的企业用户,可以是一个其他企业的成员,也可以是一个独立的个人用户,不属于任何企业。

综上,用户、群组、外部协作者都是协作和访问控制的主体。三者都可以参与文档的协作,访问控制也会校验这三种实体对应的角色权限。通过三者,可以实现企业与企业、企业与个人、个人与个人的协作关系,实现协作的场景完全闭环。在本实施例中的有益效果为:通过上述的用户、群组、外部协作者对文件的协作是体现在三者在文档上的所有用的角色。每个实体都可以对一个或者多个文档进行协作管理,可以在任何文档上拥有任何角色,也可以在一个文档上拥有多个角色,访问控制将根据角色判断用户是否拥有访问权限。

如图2所示,为本发明一实施例中的基于RABC的企业文件协作与访问控制结构连接示意图。

在本实施例中的模型是基于RABC模型,其包括:用户204、角色202、权限项集合201、文件夹/文件203以及群组205。

所述群组和用户是是参与协作和被访问控制的参与者,所述用户和群组是参与者的实体,其中用户包含企业内用户和外部协作者,群组包含一个或者多个企业用户。

所述权限项集合,是指在群组和用户在模型中对应一个或者多个角色,具体对应的角色有:所有者、共同所有者、编辑者、查看者+上传者、查看者、预览者、上传者。

所有者拥有该文件,可以对文件进行任何操作,当文件被其他角色删除时,文件会进入所有者的回收站,所有者可以恢复被删除文件;

共同所有者是所有协作者中权限最高的角色,拥有其他协作角色所不具备的协作管理权限,可以对协作关系进行删除操作;

编辑者可以对文件进行管理操作,既可以创建文件/文件夹,也可以删除文件/文件夹;

查看者+上传者可以查看、预览、上传文件,也可以对文件进行评论;

查看者只能对文件进行查看、预览,但不能对文件进行上传;

预览者可以对文件进行预览操作,不能对文件进行上传和下载;

上传者只能对文件进行上传,不能对文件进行预览和下载。

更进一步,所述各个角色对应的权限为:

1.所有者,是文件的归属者。对文件拥有所有的操作权限,包括:编辑协作、创建协作、创建评论、上传、下载、查看、预览、删除、分享、存储、属性删除、永久删除的权限。

2.共同拥有者,是仅次于所有者的权限拥有者,所拥有的权限为:编辑协作、创建协作、创建评论、上传、下载、查看、预览、删除、分享、存储、编辑属性、永久删除等权限。

3.编辑者,该角色拥有的权限为:创建协作、创建评论、上传、下载、查看、预览、删除、分享、存储、编辑属性等操作。

4.查看者,该角色拥有的权限为:创建评论、下载、分享、查看、预览等权限。

5.预览者,该角色权限为:创建评论、预览、查看等权限。

6.查看者+上传者,该角色拥有的权限为:下载、上传、创建评论、预览、分享、查看等权限。

7.预览者+上传者,该角色拥有的权限为:创建评论、预览、上传、查看等权限、

8.上传者,该角色拥有的权限为:上传、查看等权限。

更进一步,所述用户或群组在每个文件夹上对应不同角色,在创建所述协作关系时,所述编辑者、共同所有者或者需要所有者,在企业文件上选定协作者和协作角色:

建立所述协作关系{文件,协作者,协作角色};

将所述协作关系传输到后台服务器,对协作关系和操作者的权限进行访问控制;

根据用户在文件上的角色以及该操作所需的权限进行鉴权;

将所述协作关系记录在数据库中,所述协作关系包括如下的字段:

协作编号、协作文件编号、文件拥有者编号、协作者编号、协作角色、协作者企业编号;

当用户或者群组加入文件夹的协作时,

通过所述协作者企业编号与文件拥有者的企业编号对比,来判定是否属于同一个企业,若是,则属于同一个企业,若不是,则不属于同一个企业。

用户和角色的对应,体现在对文档的协作关系上,每个用户可以在不同的文档上有不同的角色,也可以在一个文档上具有一个或者多个协作关系。例如:一个人作为编辑者参与了一个文档的协作,但是该用户参与了两个群组A、B,群组A可以在文档上是预览者,群组B可以在文档上是查看者。协作关系是具有协作编辑权限的角色管理的,例如编辑者、共同所有者、所有者。

如图3所示是本发明一实施例中的协作关系创建流程示意图。

步骤S301从角色列表中为用户或者群组选择角色,步骤S301表示在创建一个协作关系时,编辑者需要在文档上选定协作者和协作角色。

协作关系{文档,协作者,协作角色}会被传输到服务器端,对协作关系和操作者权限进行访问控制。

步骤S302对设置的角色鉴权,对用户的操作进行鉴权,会根据用户在文档上的角色以及该操作所需的权限进行鉴权;

步骤S303将协作关系记录到数据库中,协作关系最终会被记录到数据库中持久化,协作关系在数据库中的记录主要包含如下几个字段:

协作编号、协作文档编号、文档拥有者编号、协作者编号、协作角色、协作者企业编号。

所述协作编号是自动生成的,在全局是唯一的,是协作的唯一标示符。

所述协作文档编号记录该文档在文档库中的编号,是文档的唯一编号,可以通过该编号找到文档。

所述文档拥有者编号指向文档拥有者。

所述协作者编号指向协作者自身。

所述协作角色表示协作者在该文档拥有的协作权限。

所述协作者企业编号,用来判定当前协作者和文档拥有者是否在同一个企业,用来判定协作者是否是外部协作者。

通过上述记录,完整记录了用户-角色-权限-文档的关系链,通过该关系链可以实现协作的访问控制。

作为本实施例中的优选,将所述角色设置为集合R1,R2…Rn,权限设置为集合C1,C2,…Cn,在所述集合Rn中的每个角色对应不同的权限集合Cn,所述Cn用以实现对文件或者文件夹的不同操作。

作为本实施例中的优选,所述外部协作者只要用户参与的协作文件夹的拥有者企业和参与用户的企业不同,就是一个外部协作者,外部协作者可以参与一个企业文件夹的正常协作。

作为本实施例中的优选,每个群组是有多个用户构成的,一个群组是一个协作操作的实体,可以对一个群组赋予角色,实现对文件的访问控制。一个群组也可以自由增加、删减成员,不会对群组协作的文件权限有影响。

图4是本发明一实施例中的鉴权方法流程示意图。

在本实施例中,鉴权方法包括如下的几个模块,权限预设模块401,权限验证路由中心402,协作关系计算模块403,角色权限计算模块404,权限过滤模块405,权限验证模块406,

权限预设模块401,用以预先设置一个操作接口进行执行时,用户必须具有的操作权限;

权限验证路由中心402,用以根据操作对象的类型,转发到相应的模块进行验证;

协作关系计算模块403,用以计算用户在某个企业文件上所具有的协作角色集合;

角色权限计算模块404,用以根据协作角色集合,获取所有角色具有的权限并集;

权限过滤模块405,用以过滤掉特定情况下不需要验证的权限。

权限验证模块406,用以校验预设配置权限是否在用户的操作权限集合中。

通过权限预设模块401对访问接口预设访问权限,比如:当用户删除一个文件时,会在文件操作入口处设置该操作所需要的删除权限,该删除权限将会和权限过滤模块405中的过滤权限集合作比较,从而判断该用户是否具有做删除文件的权限。

在用户操作前,通过所述权限验证路由中心402,对当前的所需要的权限进行路由,进行权限路由的方法用以区分权限类型包括但不限于,如果是协作权限,会把调用协作权限验证模块,如果是文档操作权限,会调用文档权限验证模块。由于在设置一个权限配置时,会配置权限所属类别,所以权限验证路由中心402首先根据当前操作的类别,再把验证路由到相应模块鉴权。

通过协作关系计算模块403计算当前用户在操作文档上所有的协作关系。具体地,所述协作关系会有两种,一种是用户的直接协作关系,一种是群组的协作关系。对于群组的协作关系,需要找到当前用户参与的群组,过滤出参与群组的角色。对于用户的直接协作,根据协作关系获取到参与协作的角色。

通过协作关系计算模块403操作,获取用户或者群组的角色集合,再根据角色和权限的对应关系,在角色权限计算模块404中计算出一个权限的并集,对于外部协作者或者通过分享连接进入的访问,去掉一些限定的权限,在权限过滤模块405中,就会得到一个最终权限集合。在权限验证模块406中,对于最终集合会和权限预设模块401中预先设定的访问权限进行做交集处理。如果得到的交集和权限预设模块401的权限一致,则表示用户拥有所有设定的权限,那么用户就通过了访问限制,可以对文件进行相应的操作。

基于上述的模块,在本实施例中的鉴权方法包括:根据访问接口配置限定,获取当前操作所需操作权限;根据当前操作对象的类型,通过路由分发然后进行进行权限验证;按照当前操作对象,获取该对象的所有父节点,获取当前用户在当前对象以及所有祖先节点上参与的所有协作或者群组协作的协作关系集合;获取所有协作关系集合的角色集合,计算出每个角色的权限,最终获取角色具有权限的并集,得到当前角色对该对象拥有的权限集合;若所述访问接口配置的所需操作权限在用户对该对象拥有的操作权限集合内,则通过鉴权;若否,则未通过鉴权。所述的当前操作对象包括但不限于:企业文件、文件夹。所述协作关系集合是指用户在文件上真实拥有的协作关系对应的角色。

所属领域的普通技术人员应当理解:以上,所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号