著录项信息
专利名称 | 一种管理系统权限的应用方法和装置 |
申请号 | CN200910088497.6 | 申请日期 | 2009-07-03 |
法律状态 | 暂无 | 申报国家 | 中国 |
公开/公告日 | 2009-12-02 | 公开/公告号 | CN101593260 |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F21/22 | IPC分类号 | G;0;6;F;2;1;/;2;2;;;H;0;4;L;9;/;3;2查看分类表>
|
申请人 | 杭州华三通信技术有限公司 | 申请人地址 | 浙江省杭州市滨江区东信大道66号C厂房二、三层A区
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 浙江宇视科技有限公司 | 当前权利人 | 浙江宇视科技有限公司 |
发明人 | 周后取 |
代理机构 | 北京德琦知识产权代理有限公司 | 代理人 | 谢安昆;宋志强 |
摘要
本发明提供一种管理系统权限的应用方法和装置,包括设置权限表,用于保存权限名称和该权限在权限授予标志中比特位置的对应关系。当接收到用户发送的操作请求命令,对用户鉴权并在鉴权的过程中获取权限授予标志,根据操作请求命令中的权限名称查询权限表以确定相应的比特位置,再利用确定的比特位置从获取的权限授予标志中判断授权情况,然后将鉴权结果返回给用户。应用本发明方案,由于用户本身的授权没有固定,在权限表增加一项定义,在权限授予标志中增加一个比特位置,以及为角色授予新权限等操作很容易实现,从而可以灵活地对权限进行扩展。
1.一种对管理系统权限进行应用的方法,其特征在于,该方法包括:
设置权限表,用于保存每一种权限名称和权限授予标志中指示该种权限授权情况所在的比特位置之间的对应关系,所述权限授予标志是指示针对系统资源为用户所属角色授权情况的标志;
当接收到用户发送的操作请求命令,根据操作请求命令对用户鉴权,并在鉴权的过程中获取针对用户所要求操作的系统资源为用户所属角色授权的权限授予标志,根据操作请求命令中的权限名称查询权限表以确定相应的比特位置,再利用确定的比特位置从获取的权限授予标志中判断该权限的授权情况,然后将鉴权结果返回给用户。
2.根据权利要求1所述的方法,其特征在于,所述接收到用户发送的操作请求命令之前,该方法进一步包括:设置角色授权表,该表中的记录用于保存被授权角色的名称、为角色授权针对的系统资源以及权限授予标志之间的对应关系。
3.根据权利要求2所述的方法,其特征在于,所述操作请求命令包括用户名称和用户所要求操作的系统资源;所述接收到用户发送的操作请求命令之前,该方法进一步包括:
设置用户角色对应表,用于保存用户名称和用户所属角色的角色名称之间的对应关系;
所述获取针对用户所要求操作的系统资源为用户所属角色授权的权限授予标志的方法包括:
a1、根据操作请求命令中用户名称查询用户角色对应表,以确定用户所属角色的角色名称;
a2、利用确定的角色名称和用户要求操作的系统资源查询角色授权表,以获取对应的权限授予标志,作为针对用户所要求操作的系统资源为用户所属角色授权的权限授予标志。
4.根据权利要求3所述的方法,其特征在于,在对用户鉴权之前,该方法进一步包括:
将所有的系统资源利用树结构进行组织,所述树结构中的每一个节点表示一个系统资源,并将所有节点保存在设置的资源表中,一个节点对应资源表中的一个记录;
所述步骤a1之前,该鉴权过程进一步包括:
a0、根据操作请求命令中用户所要求操作的系统资源查询资源表,确定包括用户所要求操作的系统资源的目标节点;根据目标节点查询资源表,确定目标节点到达根节点的路径,将该路径中的所有节点保存在路径列表中,并将确定的路径列表作为待处理路径列表;
所述步骤a2包括:
a21、利用待处理路径列表中节点对应的系统资源和确定的角色名称查询角色授权表,将查询结果中其系统资源位于树结构层次最深的作为待处理记录;
a22、获取待处理记录中权限授予标志,作为针对用户所要求操作的系统资源为用户所属角色授权的权限授予标志。
5.一种对管理系统权限进行应用的装置,其特征在于,该装置包括:
存储单元,用于保存权限表,该权限表用于保存每一种权限名称和权限授予标志中指示该种权限授权情况所在的比特位置之间的对应关系,所述权限授予标志是指示针对系统资源为用户所属角色授权情况的标志;
收发单元,用于接收到用户发送的操作请求命令,鉴权结果返回给用户;
权限管理单元,用于在存储单元中设置权限表;根据从收发单元接收到的操作请求命令对用户鉴权,并在鉴权的过程中获取针对用户所要求操作的系统资源为用户所属角色授权的权限授予标志,根据操作请求命令中的权限名称查询权限表以确定相应的比特位置,再利用确定的比特位置从获取的权限授予标志中判断该权限的授权情况,并将授权情况通过收发单元发送给用户。
6.根据权利要求5所述的装置,其特征在于,所述存储单元进一步用于保存角色授权表,该表中的记录用于保存被授权角色的名称、为角色授权针对的系统资源以及权限授予标志之间的对应关系;
所述权限管理单元进一步用于设置角色授权表。
7.根据权利要求6所述的装置,其特征在于,所述存储单元进一步用于保存用户角色对应表,保存用户名称和用户所属角色的角色名称之间的对应关系;
所述权限管理单元包括:
设置单元,用于在存储单元中设置权限表、角色授权表、用户角色对应表;
权限授予标志获取单元,用于根据操作请求命令中的用户名称查询存储单元中的用户角色对应表,以确定用户所属角色的角色名称;利用确定的角色名称和用户要求操作的系统资源查询存储单元中的角色授权表,以获取对应的权限授予标志,作为针对用户所要求操作的系统资源为用户所属角色授权的权限授予标志;
比特位置确定单元,用于根据操作请求命令中的权限名称查询存储单元中的权限表以确定相应的比特位置;
判别单元,用于根据权限利用比特位置确定单元确定的比特位置,和权限授予标志获取单元得到的权限授予标志判断权限的授权情况,并将授权情况通过收发单元发送给用户。
8.根据权利要求7所述的装置,其特征在于,所述设置单元进一步用于在存储单元中设置资源表,将所有的系统资源利用树结构进行组织,所述树结构中的每一个节点表示一个系统资源,一个节点对应资源表中的一个记录;
所述权限管理单元进一步包括路径确定单元,用于根据操作请求命令中用户所要求操作的系统资源查询存储单元中的资源表,确定包括用户所要求操作的系统资源的目标节点;根据目标节点查询存储单元中的资源表,确定目标节点到达根节点的路径,将该路径中的所有节点保存在路径列表中,并将确定的路径列表作为待处理路径列表发送给待处理记录确定单元;
所述权限授予标志获取单元包括:
角色名称获取单元,用于根据操作请求命令中用户名称查询存储单元中的用户角色对应表,以确定用户所属角色的角色名称并发送给待处理记录确定单元;
待处理记录确定单元,利用待处理路径列表中节点对应的系统资源和确定的角色名称查询存储单元的角色授权表,将查询结果中其系统资源位于树结构层次最深的作为待处理记录并发送给权限授予标志查询单元;
权限授予标志确定单元,用于从待处理记录中获取权限授予标志,作为针对用户所要求操作的系统资源为用户所属角色授权的权限授予标志。
一种管理系统权限的应用方法和装置\n技术领域\n[0001] 本发明涉及系统权限管理技术,特别是涉及一种管理系统权限的应用方法和装置。\n背景技术\n[0002] 现有技术中,管理系统中的用户可以对系统中的资源进行操作。为了协调和管理用户对资源的操作,系统通常会针对不同的管理人员授予不同的权限。当某个管理人员发起对某个资源的操作时,管理系统就可以根据事先设置的权限进行鉴权,如果鉴权通过,就允许其进行操作,否则不允许对该资源进行操作。\n[0003] 比如,某个交通监控管理系统涉及省、市、区等各行政管理级别,还涉及针对不同交通岗位的角色以及归属于某种或某几种角色的交通管理员。为了体现各行政管理级别、各种角色以及各用户在系统中权限的区别,该交通监控管理系统可以为其设计不同的权限。例如省级交通部门可以对各市的摄像头、监视器进行操作,而某个市只能对辖区内的摄像头和监视器进行操作,而不能对其他市的摄像头、监视器进行操作。再例如某个交通管理员可以对某个区的摄像头、监视器进行操作,还可以对另外一个区的摄像头、监视器进行操作。具体如何设置权限则需要根据实际情况确定。\n[0004] 当然,实际应用中还存在其他管理系统,比如多媒体教学管理系统、银行交易管理系统等,也同样涉及不同级别、不同角色、不同用户的情况,这里不再一一列举。但不管是哪种管理系统,其权限的设计通常是按照自身管理系统的特点进行固定设置的。比如:上述交通监控管理系统包括3个摄像头,1个监视器,其中摄像头包括实况、回放、云台控制3种操作,监视器包括轮切配置1种操作。那么,该系统可能根据某个用户所属的级别、角色等情况直接对其赋予固定的权限。比如:用户A的权限=实况+云台控制;用户B的权限=实况+回放+轮切配置。此后,某用户发起对某资源的操作时,管理系统就可以直接根据事先设置的权限对其进行鉴权。\n[0005] 上述这种现有技术方法虽然简单易行,但如果系统中资源种类和数量非常庞大,角色和归属于角色的用户非常复杂,一旦设置的权限固定,就很难进行扩展。比如,系统增加一种新的资源,该新资源具备某种新的操作方式。在这种情况下,由于事先已经为各用户授予了固定的权限,如果系统中用户非常多,要对其中某些用户授予操作该新资源的权限就非常困难。\n发明内容\n[0006] 有鉴于此,本发明的主要目的在于提供一种管理系统权限的应用方法,可以灵活地对权限进行扩展。\n[0007] 为了达到上述目的,本发明提出的技术方案为:\n[0008] 一种对管理系统权限进行应用的方法,该方法包括:\n[0009] 设置权限表,用于保存每一种权限名称和权限授予标志中指示该种权限授权情况的比特位置之间的对应关系,所述权限授予标志是指示针对系统资源为用户所属角色授权情况的标志;\n[0010] 当接收到用户发送的操作请求命令,根据操作请求命令对用户鉴权,并在鉴权的过程中获取针对用户所要求操作的系统资源为用户所属角色授权的权限授予标志,根据操作请求命令中的权限名称查询权限表以确定相应的比特位置,再利用确定的比特位置从获取的权限授予标志中判断该权限的授权情况,然后将鉴权结果返回给用户。\n[0011] 上述方案中,所述接收到用户发送的操作请求命令之前,该方法进一步包括:设置角色授权表,该表中的记录用于保存被授权角色的名称、为角色授权针对的系统资源以及权限授予标志之间的对应关系。\n[0012] 上述方案中,所述操作请求命令包括用户名称和用户所要求操作的系统资源;所述接收到用户发送的操作请求命令之前,该方法进一步包括:设置用户角色对应表,用于保存用户名称和用户所属角色的角色名称之间的对应关系;\n[0013] 所述获取针对用户所要求操作的系统资源为用户所属角色授权的权限授予标志的方法包括:\n[0014] a1、根据操作请求命令中用户名称查询用户角色对应表,以确定用户所属角色的角色名称;\n[0015] a2、利用确定的角色名称和用户要求操作的系统资源查询角色授权表,以获取对应的权限授予标志,作为针对用户所要求操作的系统资源为用户所属角色授权的权限授予标志。\n[0016] 上述方案中,在对用户鉴权之前,该方法进一步包括:将所有的系统资源利用树结构进行组织,所述树结构中的每一个节点表示一个系统资源,并将所有节点保存在设置的资源表中,一个节点对应资源表中的一个记录;\n[0017] 所述步骤a1之前,该鉴权过程进一步包括:\n[0018] a0、根据操作请求命令中用户所要求操作的系统资源查询资源表,确定包括用户所要求操作的系统资源的目标节点;根据目标节点查询资源表,确定目标节点到达根节点的路径,将该路径中的所有节点保存在路径列表中,并将确定的路径列表作为待处理路径列表;\n[0019] 所述步骤a2包括:\n[0020] a21、利用待处理路径列表中节点对应的系统资源和确定的角色名称查询角色授权表,将查询结果中其系统资源位于树结构层次最深的作为待处理记录;\n[0021] a22、获取待处理记录中权限授予标志,作为针对用户所要求操作的系统资源为用户所属角色授权的权限授予标志。\n[0022] 本发明还提出一种对管理系统权限进行应用的装置,可以灵活地对权限进行扩展。\n[0023] 为了达到上述目的,本发明提出的技术方案为:\n[0024] 一种对管理系统权限进行应用的装置,该装置包括:\n[0025] 存储单元,用于保存权限表,该权限表用于保存每一种权限名称和权限授予标志中指示该种权限授权情况所在的比特位置之间的对应关系,所述权限授予标志是指示针对系统资源为用户所属角色授权情况的标志;\n[0026] 收发单元,用于接收到用户发送的操作请求命令,鉴权结果返回给用户;\n[0027] 权限管理单元,用于在存储单元中设置权限表;根据从收发单元接收到的操作请求命令对用户鉴权,并在鉴权的过程中获取针对用户所要求操作的系统资源为用户所属角色授权的权限授予标志,根据操作请求命令中的权限名称查询权限表以确定相应的比特位置,再利用确定的比特位置从获取的权限授予标志中判断该权限的授权情况,并将授权情况通过收发单元发送给用户。\n[0028] 上述方案中,所述存储单元进一步用于保存角色授权表,该表中的记录用于保存被授权角色的名称、为角色授权针对的系统资源以及权限授予标志之间的对应关系;\n[0029] 所述权限管理单元进一步用于设置角色授权表。\n[0030] 上述方案中,所述存储单元进一步用于保存用户角色对应表,保存用户名称和用户所属角色的角色名称之间的对应关系;\n[0031] 所述权限管理单元包括:\n[0032] 设置单元,用于在存储单元中设置权限表、角色授权表、用户角色对应表;\n[0033] 权限授予标志获取单元,用于根据操作请求命令中的用户名称查询存储单元中的用户角色对应表,以确定用户所属角色的角色名称;利用确定的角色名称和用户要求操作的系统资源查询存储单元中的角色授权表,以获取对应的权限授予标志,作为针对用户所要求操作的系统资源为用户所属角色授权的权限授予标志;\n[0034] 比特位置确定单元,用于根据操作请求命令中的权限名称查询存储单元中的权限表以确定相应的比特位置;\n[0035] 判别单元,用于根据权限利用比特位置确定单元确定的比特位置,和权限授予标志获取单元得到的权限授予标志判断权限的授权情况,并将授权情况通过收发单元发送给用户。\n[0036] 上述方案中,所述设置单元进一步用于在存储单元中设置资源表,将所有的系统资源利用树结构进行组织,所述树结构中的每一个节点表示一个系统资源,一个节点对应资源表中的一个记录;\n[0037] 所述权限管理单元进一步包括路径确定单元,用于根据操作请求命令中用户所要求操作的系统资源查询存储单元中的资源表,确定包括用户所要求操作的系统资源的目标节点;根据目标节点查询存储单元中的资源表,确定目标节点到达根节点的路径,将该路径中的所有节点保存在路径列表中,并将确定的路径列表作为待处理路径列表发送给待处理记录确定单元;\n[0038] 所述权限授予标志获取单元包括:\n[0039] 角色名称获取单元,用于根据操作请求命令中用户名称查询存储单元中的用户角色对应表,以确定用户所属角色的角色名称并发送给待处理记录确定单元;\n[0040] 待处理记录确定单元,利用待处理路径列表中节点对应的系统资源和确定的角色名称查询存储单元的角色授权表,将查询结果中其系统资源位于树结构层次最深的作为待处理记录并发送给权限授予标志查询单元;\n[0041] 权限授予标志确定单元,用于从待处理记录中获取权限授予标志,作为针对用户所要求操作的系统资源为用户所属角色授权的权限授予标志。\n[0042] 综上所述,本发明提出的一种管理系统权限的应用方法和装置,用户本身的授权没有固定,如果对权限进行扩展,只需要在权限表增加一项定义,在权限授予标志中增加一个比特位,为角色授予新权限。而上述操作很容易实现,从而可以灵活地对权限进行扩展。\n附图说明\n[0043] 图1是本发明方法流程图。\n[0044] 图2是应用本发明方案的方法实施例的流程图。\n[0045] 图3是方法实施例中体现系统资源归属关系的树结构示意图。\n[0046] 图4是方法实施例中为角色A授权的示意图。\n[0047] 图5是方法实施例中为角色B授权的示意图。\n[0048] 图6是本发明装置的基本结构示意图。\n[0049] 图7是图6中权限管理单元603的内部结构的示意图。\n[0050] 图8是应用本发明方案的装置实施例的基本结构示意图。\n具体实施方式\n[0051] 为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明作进一步地详细描述。\n[0052] 本发明提出的技术方案如图1所示,该方法包括:\n[0053] 步骤101:设置权限表,用于保存每一种权限名称和权限授予标志中指示该种权限授权情况所在的比特位置之间的对应关系,所述权限授予标志是指示针对系统资源为用户所属角色授权情况的标志。\n[0054] 步骤102:当接收到用户发送的操作请求命令,根据操作请求命令对用户鉴权,并在鉴权的过程中获取针对用户所要求操作的系统资源为用户所属角色授权的权限授予标志,根据操作请求命令中的权限名称查询权限表以确定相应的比特位置,再利用确定的比特位置从获取的权限授予标志中判断该权限的授权情况,然后将鉴权结果返回给用户。\n[0055] 也就是说,本发明并不为用户授予固定的权限,而是设置一种指示针对系统资源为用户所属角色授权情况的标志,并对系统资源的权限进行定义,以明确权限名称和权限授予标志中指示该种权限授权情况所在的比特位置之间的对应关系。比如:系统资源中共包含实况、回放、云台控制、轮切配置等4种权限,则可以用4个比特位的权限授予标志来表示针对系统资源为用户所属角色的授权情况。其中,可以在权限定义时规定指示上述各种权限授权情况的比特位分别位于权限授予标志中的第3位~第0位。如“1001”可以表示为某个角色授予实况和轮切配置权限,而不授予回放和云台控制的权限。相应的,由于用户总是归属于某个角色,可以继承该角色具备的权限。如果用户发起对某个系统资源进行操作的请求,就可以获取为用户所属角色授权的权限授予标志,再根据权限表定义的比特位置确定用户要求的权限是否授权。\n[0056] 按照本发明上述的技术方案实施,当需要对权限进行扩展时,可以在权限授予标志中新增加一个比特位来指示新权限,在权限表中增加新权限名称和其在权限授予标志中比特位置之间的对应关系,同时按照实际情况为角色授予该新权限。这样,由于上述操作与用户本身的授权没有直接关联,而且在角色数量比较少的情况下,在权限表增加一项定义,在权限授予标志中增加一个比特位,以及为角色授予新权限等操作很容易实现,从而可以灵活地对权限进行扩展。\n[0057] 上述为角色授权的方式在实施例中可以这样实现:设置角色授权表,用于保存被授权角色的名称、为角色授权针对的系统资源以及权限授予标志之间的对应关系。另外,为了体现用户和角色之间的对应关系,还可以设置一个用户角色对应表来保存其对应关系。\n相应地,上述获取针对用户所要求操作的系统资源为用户所属角色授权的权限授予标志的方法可以包括以下步骤:\n[0058] a1、根据操作请求命令中用户名称查询用户角色对应表,以确定用户所属角色的角色名称;\n[0059] a2、利用确定的角色名称和用户要求操作的系统资源查询角色授权表,以获取对应的权限授予标志,作为针对用户所要求操作的系统资源为用户所属角色授权的权限授予标志。\n[0060] 上述方案是通过设置角色授权表、用户和角色对应表等来实现获取权限授予标志的,而实际应用中,也可以不设置角色授权表、用户和角色对应表,只要能记录下为角色授权的情况,以及用户所属的角色即可。比如:如果用户只归属于一种角色,那么系统可以默认该用户所属的角色而不必设置用户和角色对应表。又比如,系统可以在为角色授权并保存其权限授予标志之后,用指针来指示该权限授予标志,而不必设置角色授权表。总之,实际应用中,只要可以明确用户和角色的对应关系,以及被授权角色、针对的系统资源、权限授予标志之间的对应关系即可,而不论采用何种方式来记录。\n[0061] 另外,实际应用中,由于管理系统通常存在某种级别关系,可以利用树结构将所有的系统资源组织起来,树结构中的每一个节点表示一个系统资源。在实施时,为了便于操作,可以将树结构中所有节点保存在设置的资源表中,一个节点对应资源表中的一个记录。\n另外,实际应用中,如果为某角色针对不同级别的系统资源进行了授权,为了防止各种授权情况的冲突,可以采用深度优先的顺序确定。比如:为某个角色针对树结构中第2层次的某系统资源进行了授权,又同时对该子节点即第3层次的某系统资源进行授权,则可以将第3层次的授权情况作为该角色的授权情况,从而避免冲突。例如“杭州市”是位于树结构中第\n2层次的系统资源,为角色A针对“杭州市”的授权情况为:授予实况和轮切配置权限,而不授予回放和云台控制的权限;而“西湖区”是位于树结构中第3层次的系统资源,并同时为角色A针对“西湖区”的授权情况为:授予回放和云台控制的权限,而不授予实况和轮切配置权限。为了避免这种冲突,则可以采用深度优先的策略,即确定为第3层次“西湖区”的授权情况是有效的。\n[0062] 如果采用深度优先策略,在上述步骤a1之前,该方法还可以进一步包括:\n[0063] a0、根据操作请求命令中用户所要求操作的系统资源查询资源表,确定包括用户所要求操作的系统资源的目标节点;根据目标节点查询资源表,确定目标节点到达根节点的路径,将该路径中的所有节点保存在路径列表中,并将确定的路径列表作为待处理路径列表。\n[0064] 同时,所述步骤a2具体包括:\n[0065] a21、利用待处理路径列表中节点对应的系统资源和确定的角色名称查询角色授权表,将查询结果中其系统资源位于树结构层次最深的作为待处理记录。\n[0066] a22、获取待处理记录中权限授予标志,作为针对用户所要求操作的系统资源为用户所属角色授权的权限授予标志。\n[0067] 以上描述了在采用深度优先的策略时如何查询和获取权限授予标志的方法。实际应用中,系统资源可以不采用树结构来组织,也可以不采用深度优先的策略来获取权限授予标志。比如,可以用一个简单的列表保存所有的系统资源,而不体现系统内的级别关系。\n如果利用简单的列表保存系统资源,在获取权限授权标志时,可以先从该列表第一项开始扫描,直到找到用户所要求操作的系统资源,然后再查询事先记录的针对该系统资源为用户所属角色的授权情况,以获取对应的权限授予标志。当然,由于这里没有考虑级别关系和深度优先的策略,如果存在针对某系统资源多次授权的情况,那么先查询到的权限授予标志就是有效的。\n[0068] 为了更好地说明本发明对管理系统权限进行应用的方法的实施,下面用实施例进行详细说明。\n[0069] 本实施例中,假设该管理系统为一个交通监控管理系统。为了便于描述方便,假设该系统包括浙江省、杭州市、滨江区和西湖区共三个级别,系统中可用的资源包括3个摄像头以及1个监视器,各级别和具体的设备都可以作为系统资源。其中,摄像头包括实况、回放、云台控制共3种可供使用的权限,监视器包括轮切配置这1种可供使用的权限。\n[0070] 另外,本实施例还假设用户userA归属于角色A和角色B两种角色。其中,为角色A针对杭州市授予实况和回放2种权限,针对西湖区授予实况和云台控制2种权限;为角色B针对滨江区授予实况和轮切配置2种权限,针对西湖区授予实况、云台控制和轮切配置3种权限。\n[0071] 图2是本实施例方法实现对管理系统权限进行应用的方法流程图。如图2所示,该方法包括:\n[0072] 步骤201:设置权限表,用于保存每一种权限名称和权限授予标志中指示该种权限授权情况所在的比特位置之间的对应关系。\n[0073] 假设本实施例中的权限授予标志为4个比特位,其中,第3位指示实况授权情况,第2位指示回放授权情况,第1位指示云台控制授权情况,第0位指示轮切配置授权情况,那么,本步骤设置的权限表如表一所示:\n[0074] \n 权限名称 资源类型 比特位置\n 实况 摄像头 3\n 回放 摄像头 2\n 云台控制 摄像头 1\n 轮切配置 监视器 0\n[0075] 表一\n[0076] 其中,资源类型是为了本实施例描述方便,在实际应用中可以省略。\n[0077] 步骤202:设置资源表,将所有的系统资源利用树结构进行组织,树结构中的每一个节点表示一个系统资源,一个节点对应资源表中的一个记录。\n[0078] 图3是本实施例中体现系统资源归属关系的树结构示意图,其对应的资源表如表二所示:\n[0079] \n 父节点 所在\n 记录号 资源对象 资源编号\n 记录号 层次\n 1 浙江省 001 - 1\n 2 杭州市 002 1 2\n 3 摄像头1 003 2 3\n ... ... ... ... ...\n 6 西湖区 006 2 3\n ... ... ... ... ...\n 9 摄像头1 009 6 4\n ... ... ... ... ...\n[0080] 表二\n[0081] 其中,“资源对象”表示一种系统资源,“资源编号”是为了区分树结构中同一种系统资源而设置的,“父节点记录号”表示该节点的父节点在表二中对应的记录号,“所在层次”表示该节点自身在树结构中所在的层次。总之,表二是实践中根据实际情况构造的,其表现形式也可以不同,只要能够体现资源的归属关系以及便于系统操作即可。\n[0082] 步骤203:设置角色授权表,用于保存被授权角色的名称、为角色授权针对的系统资源以及权限授予标志之间的对应关系。\n[0083] 本实施例为角色A和角色B授权的示意图可以参见图4和图5,其角色授权表如表三所示:\n[0084] \n 角色名称 资源对象 资源编号 权限授予标志\n A 杭州市 002 1100\n A 西湖区 006 1010\n B 滨江区 002 1001\n B 西湖区 006 1011\n[0085] 表三\n[0086] 步骤204:设置用户角色对应表,用于保存用户名称和用户所属角色的角色名称之间的对应关系。\n[0087] 本实施例的用户角色对应表如表四所示:\n[0088] \n 用户名称 角色名称\n userA A\n userA B\n[0089] 表四\n[0090] 上述步骤201~204分别设置了权限表、资源表、角色授权表、用户角色对应表,其设置在实际应用中并没有严格的顺序。\n[0091] 步骤205:系统接收到用户发送的操作请求命令,该操作请求命令携带有用户名称、权限名称和要求操作的系统资源。比如:用户userA要求对摄像头1进行实况操作,那么,该请求命令可以携带userA、实况、摄像头1这三种参数。\n[0092] 步骤206:根据操作请求命令中用户所要求操作的系统资源查询资源表,确定包括用户所要求操作的系统资源的目标节点。\n[0093] 假设用户userA要求对摄像头1进行实况操作,那么资源表中记录号为3和9的记录都属于用户所针对的目标节点。\n[0094] 步骤207:根据目标节点查询资源表,确定目标节点到达根节点的路径,将该路径中的所有节点保存在路径列表中。\n[0095] 假设资源表中记录号为3和9的记录都属于用户所针对的目标节点,那么该资源表就存在两条可以到达根节点的路径,即:摄像头1--->杭州市--->浙江省,摄像头\n1--->西湖区--->杭州市--->浙江省。至于本步骤构成的路径列表可以用任何形式表示,只要将路径中所有节点的信息保存即可,此处不再赘述。\n[0096] 步骤208:从获得的路径列表确定一条作为待处理路径列表。\n[0097] 这里,假设将第一条路径即摄像头1--->杭州市--->浙江省作为待处理路径,其路径列表就是待处理路径列表。\n[0098] 步骤209:根据操作请求命令中用户名称查询用户角色对应表,以确定用户所属角色的角色名称。\n[0099] 本实施例中,假设用户名称为userA,则在本步骤查询出该用户对应的角色名称为角色A和角色B。\n[0100] 步骤210:利用待处理路径列表中节点对应的系统资源和确定的角色名称查询角色授权表,将查询结果中其系统资源位于树结构层次最深的作为待处理记录。\n[0101] 本实施例中,假设待处理路径为摄像头1--->杭州市--->浙江省,用户userA所属的角色为角色A和角色B,那么查询发现为角色A针对待处理路径中的“杭州市”这个系统资源授过权,并且没有为角色B针对待处理路径中的任何系统资源授过权。那么,本步骤将仅有的一个查询结果,即角色授权表中的第一条记录作为待处理记录。\n[0102] 实际应用中,如果查询发现为角色A针对待处理路径中的“摄像头1”和“杭州市”这两个系统资源都授过权;同时,为角色B针对待处理路径中的“杭州市”和“浙江省”这两个系统授过权。那么,对于角色A来说,由于“杭州市”在树结构中的层次为2,“摄像头1”在树结构中的层次为3,“摄像头1”是对于角色A中查询结果中位于树结构层次最深的,则将其在处理角色A时作为待处理记录。按照本实施例这种深度优先的策略,可以避免对资源的操作发生冲突。当然,实际应用中,也可以利用其它的策略来避免冲突,比如级别优先等,此处不再赘述。同样,对于角色B来说,由于“浙江省”在树结构中的层次为1,“杭州市”在树结构中的层次为2,“杭州市”是对于角色B查询结果中位于树结构层次最深的,将其在处理角色B时作为待处理记录。\n[0103] 步骤211:获取待处理记录中权限授予标志,作为针对用户所要求操作的系统资源为用户所属角色授权的权限授予标志。\n[0104] 本实施例中,在处理摄像头1--->杭州市--->浙江省这条路径时,步骤110确定的待处理记录为角色授权表中的第一条记录,其中的权限授予标志为“1100”。即,将“1100”作为针对用户所要求操作的系统资源为用户所属角色A授权的权限授予标志。\n[0105] 步骤212:根据操作请求命令中的权限名称查询权限表以确定相应的比特位置。\n[0106] 假设本实施例中操作请求命令中的权限名称为实况,那么可以从权限表中查询到其在权限授予标志中相应的比特位置为第3位。\n[0107] 步骤213:利用确定的比特位置从获取的权限授予标志中判断该权限的授权情况。\n[0108] 本实施例中,根据步骤211和步骤212的结果可以确定在权限授予标志的第3位内容为“1”,表示已经授权,用户userA可以对摄像头1进行实况操作。这种情况下,用户userA被鉴权通过,可以执行步骤214将鉴权结果通知给用户userA并退出本流程。\n[0109] 实际应用中,如果在本步骤中鉴权没有通过,并且用户属于两种以上角色,步骤\n210确定出两个以上待处理记录。这种情况下,可以针对其他待处理记录重新执行步骤\n211~步骤213。也就是说,由于某个用户归属于一个或多个角色,该用户可以继承所属角色的所有权限,即用户的权限是所属角色的并集。这样,只要用户所属某个角色具备该用户要求的权限,该用户就可以视为已经被授权。\n[0110] 如果处理完所有角色对应的待处理记录,鉴权仍然没有通过,并且步骤207确定出两条以上路径。这种情况下,可以针对其他待处理路径重新执行步骤209~步骤213。也就是说,由于用户所要求的系统资源可能位于不同路径中,只要某个路径上的该系统资源被授予用户要求的权限,该用户也可视为已经被授权。当然,这里所述该系统资源被授予用户要求的权限是指针对用户所属角色进行的授权。\n[0111] 步骤214:将鉴权结果通知给用户。\n[0112] 应用本实施例方案,由于没有为用户设置固定的权限,在系统需要增加新的权限时,很容易对其进行扩展。\n[0113] 针对上述方法,本发明还提出一种装置。如图6所示,该装置包括:\n[0114] 存储单元601,用于保存权限表,该权限表用于保存每一种权限名称和权限授予标志中指示该种权限授权情况的比特位置之间的对应关系,所述权限授予标志是指示针对系统资源为用户所属角色授权情况的标志。\n[0115] 收发单元602,用于接收到用户发送的操作请求命令,并将鉴权结果返回给用户。\n[0116] 权限管理单元603,用于在存储单元601中设置权限表;根据从收发单元602接收到的操作请求命令对用户鉴权,并在鉴权的过程中获取针对用户所要求操作的系统资源为用户所属角色授权的权限授予标志,根据操作请求命令中的权限名称查询权限表以确定相应的比特位置,再利用确定的比特位置从获取的权限授予标志中判断该权限的授权情况,并将授权情况通过收发单元602发送给用户。\n[0117] 由于用户的权限是通过对其所属角色授权获得的,那么存储单元601还可以进一步用于保存角色授权表,该表中的记录用于保存被授权角色的名称、为角色授权针对的系统资源以及权限授予标志之间的对应关系。相应地,权限管理单元603则可以进一步用于在存储单元中设置角色授权表。\n[0118] 由于用户可以归属一个或多个角色,那么存储单元601还可以进一步用于保存用户角色对应表,保存用户名称和用户所属角色的角色名称之间的对应关系。\n[0119] 相应的,上述权限管理单元603的内部结构可以如图7所示,包括:\n[0120] 设置单元6031,用于在存储单元601中设置权限表、角色授权表、用户角色对应表。\n[0121] 权限授予标志获取单元6032,用于根据操作请求命令中的用户名称查询存储单元\n601中的用户角色对应表,以确定用户所属角色的角色名称;利用确定的角色名称和用户要求操作的系统资源查询存储单元601中的角色授权表,以获取对应的权限授予标志,作为针对用户所要求操作的系统资源为用户所属角色授权的权限授予标志。\n[0122] 比特位置确定单元6033,用于根据操作请求命令中的权限名称查询存储单元601中的权限表以确定相应的比特位置。\n[0123] 判别单元6034,利用比特位置确定单元6033确定的比特位置,和权限授予标志获取单元6032得到的权限授予标志判断权限的授权情况,并将授权情况通过收发单元602发送给用户。\n[0124] 图8是应用本发明方案的一个装置实施例。如图8所示,该装置包括:存储单元\n601、收发单元602、权限管理单元603中的设置单元6031、权限授予标志获取单元6032、比特位置确定单元6033、判别单元6034,上述各单元为图6和图7中相应单元的功能。另外,所述设置单元6031还可以进一步用于在存储单元601中设置资源表,将所有的系统资源利用树结构进行组织,所述树结构中的每一个节点表示一个系统资源,一个节点对应资源表中的一个记录。同时,所述权限管理单元603进一步包括:\n[0125] 路径确定单元6035,用于根据操作请求命令中用户所要求操作的系统资源查询存储单元601中的资源表,确定包括用户所要求操作的系统资源的目标节点;根据目标节点查询存储单元601中的资源表,确定目标节点到达根节点的路径,将该路径中的所有节点保存在路径列表中,并将确定的路径列表作为待处理路径列表发送给待处理记录确定单元\n6032b;\n[0126] 所述权限授予标志获取单元6032包括:\n[0127] 角色名称获取单元6032a,用于根据操作请求命令中用户名称查询存储单元601中的用户角色对应表,以确定用户所属角色的角色名称并发送给待处理记录确定单元\n6032b;\n[0128] 待处理记录确定单元6032b,利用待处理路径列表中节点对应的系统资源和确定的角色名称查询存储单元601的角色授权表,将查询结果中其系统资源位于树结构层次最深的作为待处理记录并发送给权限授予标志查询单元6032c;\n[0129] 权限授予标志查询单元6032c,用于从存储单元601角色授权表中待处理记录中获取权限授予标志,作为针对用户所要求操作的系统资源为用户所属角色授权的权限授予标志。\n[0130] 也就是说,设置单元6031在存储单元601中设置权限表、角色授权表、用户角色对应表。其中,权限表用于保存每一种权限名称和权限授予标志中指示该种权限授权情况所在的比特位置之间的对应关系,所述权限授予标志是指示针对系统资源为用户所属角色授权情况的标志;角色授权表用于保存被授权角色的名称、为角色授权针对的系统资源以及权限授予标志之间的对应关系;用户角色对应表用于保存用户名称和用户所属角色的角色名称之间的对应关系;资源表用于将所有的系统资源利用树结构组织起来,树结构中的每一个节点表示一个系统资源,一个节点对应资源表中的一个记录。\n[0131] 这样,当收发单元602接收到用户发送的操作请求命令,路径确定单元6035根据操作请求命令中用户所要求操作的系统资源查询存储单元601中的资源表,确定包括用户所要求操作的系统资源的目标节点,再根据目标节点查询存储单元601中的资源表,确定目标节点到达根节点的路径,将该路径中的所有节点保存在路径列表中,并将确定的路径列表作为待处理路径列表发送给待处理记录确定单元6032b。角色名称获取单元6032a根据操作请求命令中用户名称查询存储单元601中的用户角色对应表,以确定用户所属角色的角色名称并发送给待处理记录确定单元6032b。待处理记录确定单元6032b利用待处理路径列表中节点对应的系统资源和确定的角色名称查询存储单元601的角色授权表,将查询结果中其系统资源位于树结构层次最深的作为待处理记录并发送给权限授予标志查询单元6032c。权限授予标志查询单元6032c从存储单元601角色授权表中待处理记录中获取权限授予标志,作为针对用户所要求操作的系统资源为用户所属角色授权的权限授予标志。另一方面,比特位置确定单元6033根据操作请求命令中的权限名称查询存储单元601中的权限表以确定相应的比特位置。此时,权限授予标志获取单元6032中的权限授予标志查询单元6032c已经获取权限授予标志,比特位置确定单元6033已经获取用户所要求权限相应的位置,由判别单元6034利用确定的比特位置和权限授予标志判断权限的授权情况,并将授权情况通过收发单元602发送给用户。\n[0132] 执行本实施例方案,当需要对权限进行扩展时,可以由设置单元6031在权限授予标志中新增加一位来指示新权限,在权限表中增加新权限名称和其在权限授予标志中比特位置之间的对应关系,同时按照实际情况为角色授予该新权限。这样,由于上述操作与用户本身的授权没有直接关联,而且在角色数量比较少的情况下,在权限表增加一项定义,在权限授予标志中增加一个比特位,以及为角色授予新权限等操作很容易实现,从而灵活地对权限进行扩展。\n[0133] 综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。\n凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
法律信息
- 2012-03-28
专利权的转移
登记生效日: 2012.02.20
专利权人由杭州华三通信技术有限公司变更为浙江宇视科技有限公司
地址由310053 浙江省杭州市高新技术产业开发区之江科技工业园六和路310号华为杭州生产基地变更为310053 浙江省杭州市滨江区东信大道66号C厂房二、三层A区
- 2011-08-10
- 2010-03-10
- 2009-12-02
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有引用任何外部专利数据! |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 1 | | 2015-01-14 | 2015-01-14 | | |