著录项信息
专利名称 | 一种用户权限管理方法 |
申请号 | CN200310119357.3 | 申请日期 | 2003-12-26 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2005-07-06 | 公开/公告号 | CN1635439 |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F1/00 | IPC分类号 | G;0;6;F;1;/;0;0查看分类表>
|
申请人 | 华为技术有限公司 | 申请人地址 | 广东省深圳市龙岗区坂田华为总部办公楼
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 华为技术有限公司 | 当前权利人 | 华为技术有限公司 |
发明人 | 胡小军;谢红;王金城 |
代理机构 | 北京德琦知识产权代理有限公司 | 代理人 | 罗正云;宋志强 |
摘要
本发明公开了一种用户权限管理方法,该方法中的系统预先设置用于标识当前操作权限的用户角色,保存该用户角色与当前操作权限的对应关系,并用该用户角色标识拥有该操作权限的用户;用户在请求执行系统操作时,系统判断该用户的用户角色所对应的操作权限是否包括该操作项目,如果包括,则接受该用户的请求,否则,拒绝该用户的请求。本发明方案解决了现有技术在操作项目很多的情况下,系统必须根据用户的需要为用户标识每个操作项目对应的权限的问题,本发明方案使系统在对用户进行操作权限标识时,只需要为该用户设置与其所需的操作权限对应的用户角色,方便了系统对用户操作权限的标识。
1、一种用户权限管理方法,其特征在于该方法包括以下步骤: a.预先设置用于标识当前操作权限的用户角色,保存该用户角色与当前操作权限的对应关系,一个用户唯一对应一个用户角色,并用该用户角色标识拥有该操作权限的用户; b.用户在请求执行系统操作时,系统判断该用户的用户角色所对应的操作权限是否包括该操作项目,如果包括,则接受该用户的请求,否则,拒绝该用户的请求。
2、 根据权利要求1所述的方法,其特征在于所述步骤a之前进一步包括: 判断是否存在与当前操作权限对应的用户角色,如果存在,则用该用户角色标 识该用户,直接执行步骤b;否则,执行步骤a。
3、 根据权利要求1所述的方法,其特征在于,所述用户角色通过唯一与之 对应的用户角色信息来标识。
4、 根据权利要求3所述的方法,其特征在于,所述用户角色信息包括用户 角色ID。
5、 根据权利要求4所述的方法,其特征在于,所述用户角色信息进一步包 括用户角色名。
6、 根据权利要求1所述的方法,其特征在于该方法进一步包括,系统判断 一个用户角色是否有对应的标识用户,如果有,保留该用户角色,否则,删除 该用户角色。
7、 根据权利要求1所述的方法,其特征在于,所述步骤b之后进一步包括: cl.在需要更改用户角色对应的操作权限时,系统判断该操作权限对应的用户角色是否标识其他用户,如果标识其他用户,则进入步骤c2,如果没有标识 其他用户,则进入步骤c3;c2.判断所有其他用户是否也需要作相同的更改,如果需要,则进入步骤c3,如果不需要,则系统根据当前用户的需要更改该操作权限,为更改后的操 作权限设置新的用户角色,并保存更改后的操作权限与该新设置的用户角色的 对应关系;c3.系统根据当前用户的需要更改该操作权限,并保存更改后的操作权限 与原有用户角色的对应关系。
8、根据权利要求1所述的方法,其特征在于,所述步骤a之前进一步包括 将系统操作分解为基本操作项目的步骤。
一种用户权限管理方法技术领域本发明涉及用户权限管理技术领域,更确切地说是涉及一种对用户权限 进行管理的方法。背景技术目前的各种系统都有多种操作项目,每种操作项目对应唯一的权限标 识。系统中的用户可以具有至少一种的操作处理权限,且用户只能进行与自 身拥有的权限标识对应的操作,用户要想对某个文件进行某种操作处理,则 该用户必须具有该操作项目对应的权限标识。目前,用户所具有的操作权限 是通过直接的权限标识确定的。以UNIX系统为例。UNIX系统是多用户操作系统,允许多个用户同时 使用。UNIX系统中设置了多个数组,系统在创建用户时,将该用户分配到 某个数组。UNIX系统的操作只有读、写和执行三种,分别用R、 W和X来标识。 UNIX系统对用户的权限标识是通过对数组和文件分别进行标识而实现的。 具体来说,UNIX系统为每个数组设置一个特定的操作权限,比如,为数组 A设置的操作权限为R--。 UNIX系统中的用户在创建一个文件时,需要为 该文件设置相应的权限,该权限包括文件拥有者的权限、本组用户的权限及 其他组用户的权限。比如,某个文件B的拥有者的权限为rwx,本组用户和 其他组用户的4又限均为r-x,则该文件的权限管理可以显示为rwxr-xr-x。如果数组A中的某个用户C希望对文件B进行读操作,且文件拥有者 不属于数组A,即对于文件B来说,用户C是其他组用户,则系统在检测 用户C为合法用户之后,需要检测用户C所属数组A的权限标识以及文件B对其他组用户的权限标识中是否都具有读的操作权限,如果都具有,则系统同意用户C对文件B进行读操作;如果用户C所属数组A的权限标识或 文件B对其他组用户的权限标识中没有读的操作权限,或者用户C所属数 组A与文件B对其他组用户的权限标识中都没有读的操作权限,则系统拒 绝用户C对文件B的读操作。也就是说,UNIX系统在为用户设置针对某个文件的操作权限时,需要 对用户所在数组和文件本身分别进行设置。由于UNIX系统的文件操作只有 读、写和执行三种,因此,采用现有方法直接进行权限描述比较方便。如果 UNIX系统中有较多的操作,则描述起来要麻烦得多。比如,UNIX系统中 有a、 b、 c、 d、 e、 f、 g和h八种操作,某个文件的拥有者对该文件的权限 为abcdefgh,本组用户对该文件的权限为a-cdefgh,其他組用户对该文件的 权限为a—defgh,则该文件的权限管理可以显示为abcdefgha-cdefgha--defgh。 还需要为用户所在组进行描述,比如,某个数组拥有所有操作权限,则将该 数组的权限设置为abcdefgh。对于其他系统来说,则往往是直接为用户设置操作权限。比如,某个系 统中有p、 q、 r、 s、 t、 u和v七种操作,某个用户具有对某个文件的所有操 作权限,则系统需要为该用户标识pqrstuv。系统中的用户对文件进行某项 操作时,系统需要首先判断该用户是否具有该项操作的权限标识,如果有, 则允许该用户对该文件的操作,否则,拒绝该用户的当前操作。显然,在UNIX系统或其他系统有很多操作选项时,直接进行权限描述 很不方便。尤其是在系统有几十个、几百个甚至更多的操作选项的情况下, 直接进行权限描述则更不方便。也就是说,现有技术所提供的权限描述方法 不能很方便地对用户的操作权限进行描述。发明内容有鉴于此,本发明的主要目的在于提供一种用户权限管理方法,使系统 不论有多少个操作选项,都能方便地为用户设置其所需操作的权限标\n为达到以上目的,本发明的技术方案是这样实现的: 一种用户权限管理 方法,该方法包括以下步骤:a. 预先设置用于标识当前操作权限的用户角色,保存该用户角色与当 前操作权限的对应关系, 一个用户唯一对应一个用户角色,并用该用户角色 标识拥有该操作权限的用户;b. 用户在请求执行系统操作时,系统判断该用户的用户角色所对应的 操作权限是否包括该操作项目,如果包括,则接受该用户的请求,否则,拒 绝该用户的请求。所述步骤a之前进一步包括:判断是否存在与当前操作权限对应的用户 角色,如果存在,则用该用户角色标识该用户,并直接执行步骤b;否则, 执行步骤a。所述用户角色通过唯一与之对应的用户角色信息来标识。 所述用户角色信息包括用户角色ID。 所述用户角色信息进一步包括用户角色名。该方法可以进一步包括,系统判断一个用户角色是否有对应的标识用 户,如果有,则保留该用户角色,否则,删除该用户角色。 所述步骤b之后可以进一步包括:cl.在需要更改用户角色对应的操作权限时,系统判断该操作权限对应 的用户角色是否标识其他用户,如果标识其他用户,则进入步骤c2,如果没 有标识其他用户,则进入步骤c3;c2.判断所有其他用户是否也需要作相同的更改,如果需要,则进入步 骤c3,如果不需要,则系统根据当前用户的需要更改该操作权限,为更改后 的操作权限设置新的用户角色,并保存更改后的操作权限与该新设置的用户 角色的对应关系;c3.系统根据当前用户的需要更改该操作权限,并保存更改后的操作权限与原有用户角色的对应关系。所述步骤a之前进一步包括将系统操作分解为基本操作项目的步骤。\n本发明通过为用户的操作权限设置对应的用户角色,并用该用户角色来 标识用户,使系统在设置具有相同操作权限的用户时,只需要选择该操作权 限对应的用户角色来标识用户,而不需要对每个用户分别作具体的权限标统对用户操作权限的描述,且简化了系统对用户操作权限的管理。 附图说明图1为本发明方案通过用户角色对用户权限进行管理的流程图; 图2为本发明实施例中通过用户信息与用户角色来标识用户的示意图; 图3为本发明实施例中用户与用户角色及对应操作项目的对应关系示 意图。具体实施方式下面结合附图及具体实施例对本发明方案作进一步详细的说明。 参见图1,本发明方案通过以下步骤实现: 步骤101、将系统的操作项目规整为多个基本的操作项目单元。 用户所具有的操作权限至少对应一个操作项目单元。 步骤102~104、系统在对用户进行操作权限标识时,首先判断所要标 识的操作权限是否已存在对应的用户角色,如果已存在,则用该用户角色来 标识该操作权限,如果不存在,则建立相应的用户角色,保存该用户角色与 操作权限的对应关系,并用该用户角色来标识用户的操作权限。系统所建立的用户角色可以通过唯一与之对应的用户角色信息来标识。 所设置的用户角色信息可以由用户角色名和用户角色ID组成,也可以只包用户角色名即为用户角色的名称,为便于使用,可以将用户角色名设置为数 字和字母的组合,当然,也可以采用其他的设置方式;用户角色ID用于系统内部的权限校验,由系统在创建用户角色时自动设定。用户角色名和用户\n角色ID应该是唯一的,为便于使用,可以将其设置为不能被修改,且随着 角色的删除而被释放。在只通过用户角色ID来标识用户角色时,用户角色 ID由系统在创建用户角色时自动设定,用户角色的名称及系统内部的权限 校验都通过用户角色ID实现,用户角色ID应该是唯一的,不能被修改,且 随着角色的删除而被释放。步骤105 ~ 107、用户在需要执行某项操作时,系统对该用户进行权限 校验,如果该用户通过权限校验,则系统允许该用户执行该项操作,否则, 系统拒绝该用户执行该项操作。所述步骤105中,系统对用户的权限校验包括对用户自身的校验及用户 所具有的操作权限的校验,这里,对用户所具有的操作权限的校验即为对该 用户所对应的用户角色的4交—睑。在通过用户角色对用户进行标识时, 一方面,用户可以通过用户信息与 用户角色来标识,该标识情况参见图2,其中,用户信息可以是用户名,也 可以是用户ID等其他用来标识用户的信息。另一方面,同一个用户角色可 以被多个用户同时使用,每个用户能且只能对应一个用户角色,用户只能执 行自身对应的用户角色所具有的操作项目,用户与用户角色及对应操作项目 的对应关系参见图3。下面以UNIX系统为例。假设UNIX系统中包括a、 b、 c、 d、 e、 f、 g 和h八个操作项目,则将这八个操作项目规整为八个基本的操作项目单元。 某个文件C的拥有者对该文件的操作权限为abcdefgh,本组用户对该文件的 操作权限为a-cdefgh,其他组用户对该文件的操作权限为a-defgh,假如当 前没有这几种操作权限对应的用户角色,则分别针对这三种操作权限建立用 户角色并保存,比如,为abcdefgh设置角色名为A01的用户角色、为a-cdefgh 设置角色名为A02的用户角色、为a—defgh设置用户名为A03的用户角色, 并由系统分别设置相应的角色ID,因此,该文件的权限管理可以显示为 A01A02A03。如果该文件C的拥有者所在数组W拥有的操作权限为 abcdefgh,在对该操作权限进行标识时,查找到该操作权限对应的用户角色 已存在,其角色名为AOl,因此,用该用户角色来标识该数组,也就是说, 该数组的用户角色与前述文件的拥有者对该文件的操作权限相同。针对上述设置,UNIX系统在对用户进行权限校验时,即为对用户角色 进行校验。比如,与文件C的拥有者同组的用户H需要对文件C作与操作 项目f对应的操作,即用户H所在数组W的用户角色名为AOl,则UNIX 系统需要判断该文件C中对本组用户的用户角色A02所对应的操作权限, 以及数组W的用户角色A01所对应的操作权限是否都具有操作项目f的标 识,如果有,则UNIX系统接受用户H对文件C作与操作项目f对应的操作 请求,否则拒绝用户H的操作请求。对于UNIX系统来说,对用户的操作权限标识可以通过对文件和数组分 别进行操作权限标识来实现,对于其他系统来说,则可以直接通过用户角色 对用户进行标识。比如,某个业务系统中包括对无线用户的开户、销户、用 户数据管理、系统资源数据管理和鉴权数据管理等五种操作,如果需要将该 业务系统中的某个用户,即业务系统中的操作员设置为只能对无线用户的数 据进行处理,而且没有对系统级别的资源数据管理和鉴权数据管理的权限管 理时,则可以定义一个包括"开户、销户及用户数据管理"的用户角色 R0LE1,为该用户角色设置对应的角色ID,并将该操作员的操作权限定义 为角色R0LE1。其他的操作员如果也需要具有这个操作权限,则只需要将 该操作员的操作权限定义为角色ROLEl即可。基于上述设置,操作员在执行某项搡作时,系统对该操作员自身及角色 ID进行校验,如果该操作员通过校验,则系统允许该操作员执行该操作, 否则,系统拒绝该操作员执行该操作。系统对角色ID进行校验,即为判断 该角色ID对应的用户角色是否包括该项操作。以上所述均为建立用户角色,实际上,系统还可以根据需要对已建立的 用户角色进行删除及修改。对于删除用户角色来说,如果某个用户角色不再9\n被使用,也就是说,没有用户通过该用户角色来标识自身的操作权限,则系 统可以删除该用户角色。系统在删除用户角色时,应删除该用户角色对应的 用户角色信息。\n对于修改用户角色来说,可以从增加操作项目和删除操作项目两方面进\n行说明,下面以对系统中的用户角色A增加或删除操作项目为例,对这两 种情况分别说明,该用户角色A对应操作项目xyz。\n在增加操作项目时,假如系统增加了某个操作项目s,且系统中所有使 用用户角色A的用户都需要增加该操作项目s,则系统可以在该原有用户角 色的基础上增加该操作项目s,且增加操作项目s后的用户角色A所对应的 用户角色信息保持不变。如果使用该用户角色A的用户中只有某个或某几 个用户需要增加该操作项目s,则应该重新设置一个用户角色,比如设置用 户角色B,该用户角色B包括原有操作项目xyz及新增的操作项目s,且应 为该重新设置的用户角色B设置对应的用户角色信息。\n在删除操作项目时,假如系统删除了用户角色A中的操作项目y,则系 统可以在原有用户角色A的基础上删除该操作项目,由于操作项目y是系 统删除的,对应的所有用户都应该去掉该操作项目,所以删除操作项目y的 用户角色A所对应的用户角色信息可以保持不变。\n对于删除操作项目来说,如果某个用户需要删除用户角色A中的操作 项目z,则系统将该用户对应用户角色中的操作项目z删除,如果该用户角 色A只被当前用户使用,或其他使用用户角色A的用户也需要删除操作项 目z,则可以保存该用户角色A对应的用户角色信息不变。如果使用该用户 角色A的用户中只有某几个需要删除该操作项目z,则应该重新设置一个针 对删除操作项目z之后的操作项目的用户角色,且应为该重新设置的用户角 色设置对应的用户角色信息。\n以上所述仅为本发明方案的较佳实施例,并不用以限定本发明的保护范围。
法律信息
- 2008-04-16
- 2006-04-26
- 2005-07-06
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2004-03-31
|
2002-09-27
| | |
2
| |
2003-08-20
|
2002-02-04
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 1 | | 2015-09-30 | 2015-09-30 | | |
2 | | 2015-09-14 | 2015-09-14 | | |
3 | | 2014-10-13 | 2014-10-13 | | |