一种用户权限控制方法和装置的制造方法

文档序号:9616424阅读:332来源:国知局
一种用户权限控制方法和装置的制造方法
【技术领域】
[0001]本发明属于用户权限管理领域,尤其涉及一种用户权限控制方法和装置。
【背景技术】
[0002]在多用户系统中,根据用户的权限和职位的不同,需要为用户分配不同的权限,从而为用户提供更为安全可靠的系统服务。
[0003]RBAC(英文全为Role-Based Access Control,中文全称为基于角色的访问控制规范),是目前公认的解决企业级应用系统权限管理的有效方法。在RBAC中,权限与角色相关联,用户通过成为适当角色,从而得到这些角色的权限,极大地简化了权限的管理复杂度。
[0004]RBAC有三个安全原则:最小权限原则,责任分离原则和数据抽象原则。而RBAC96是最基础的RBAC规范,它包括4种模型:基本模型RBAC0,角色分级模型RBAC1,限制模型RBAC2,统一模型RBAC3。其中的限制模型描述了实现责任分离原则。
[0005]RBAC2中的一个基本限制是互斥角色的限制,互斥角色是指各自权限互相制约的两个角色。对于这类角色一个用户在某一次活动中只能被分配其中的一个角色,不能同时获得两个角色的使用权。
[0006]例如,在审计活动中,一个用户不能同时被指派给会计角色和审计员角色。或者,在公司中,经理和副经理的角色也是互斥的,合同或支票只能由经理签字,不能由副经理签字。在为公司建立的RBAC2模型中,一个用户不能同时兼得经理和副经理两个角色。限制模型的互斥限制可以支持权责分离原则的实现。
[0007]目前常见的互斥限制方法是采用函数来实现,当为用户指定角色或为角色分配权限时就调用这些函数进行检查,根据函数返回的结果决定分配是否满足限制的要求,通常只对那些可被有效检查和那些惯例性的一些简单限制能够进行实现。
[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]结合第二方面,在第二方面的第四种可能实现方式中,所述装置还包括:
[0039]关系组建立单元,用于建立系统的内互斥组和外互斥组,所述内互斥组的个数包括零个、一个或者一个以上,所述外互斥组的个数包括零个、一个或者一个以上,所述内互斥组至少包括两个角色,所述外互斥组至少包括一个角色。
[0040]在本发明中,通过获取用户待授权角色和已授权角色,根据预先设定的待授权角色所属的内互斥组和外互斥组,以及已授权角色所属的内互斥组和外互斥组进行判断从而决定是否将待授权角色授权给用户。和现有的函数比较方式相比,本发明所述用户权限控制方法,权限比较过程相对简单,控制精度较高,大大的提高了用户权限的控制效率。
【附图说明】
[0041]图1是本发明第一实施例提供的用户权限控制方法的实现流程图;
[0042]图2是本发明第二实施例提供的根据关系组进行用户授权方法的实现流程图;
[0043]图3是本发明第三实施例提供的用户权限控制装置的结构示意图。
【具体实施方式】
[0044]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0045]本发明实施例所述用户权限控制方法,目的在于解决现有技术中对用户权限进行控制时,需要通过函数运算,逐个比较为用户指定的角色是否和已授权的角色冲突,通过函数的返回结果决定分配是否满足限制的要求。这样对于一套系统来说,对
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1