1.一种权限管理方法,该方法包括步骤:
查询用户的角色是否有对应的资源访问权限;
当用户的角色没有对应的资源访问权限时,继续查询用户是否有对应的资源访问条件,所述资源访问条件为布尔表达式;所述资源访问条件为:使用基于用户的条件,基于资源的条件,基于访问类型的条件,或者公共条件中的至少一项设置的资源访问条件;
如果用户没有对应的资源访问条件,拒绝用户对资源的访问;
如果用户有对应的资源访问条件,对资源访问条件评估成功时允许用户对资源的访问;
对资源访问条件评估失败时拒绝用户对资源的访问。
2.如权利要求1所述的权限管理方法,其特征在于,该方法进一步包括步骤:预先设置角色和用户的对应关系、角色和具备资源访问条件的资源访问权限的对应关系。
3.如权利要求1所述的权限管理方法,其特征在于,所述对资源访问条件评估成功时允许用户对资源的访问为:
遍历资源访问条件,有一项资源访问条件评估成功,允许用户对资源的访问。
4.如权利要求1所述的权限管理方法,其特征在于,所述允许或拒绝用户访问的资源为资源类型和资源实例的组合。
5.一种权限管理方法,该方法包括步骤:
查询用户是否有对应的资源访问条件,所述资源访问条件为布尔表达式;所述资源访问条件为:使用基于用户的条件,基于资源的条件,基于访问类型的条件,或者公共条件中的至少一项设置的资源访问条件;
如果用户有对应的资源访问条件,对资源访问条件评估成功时允许用户对资源的访问;
评估失败或当用户没有对应的资源访问条件时,继续查询用户的角色是否有对应的资源访问权限;
当用户的角色有对应的资源访问权限时允许用户对资源的访问。
6.如权利要求5所述的权限管理方法,其特征在于,该权限管理方法进一步包括步骤:预先设置角色和用户的对应关系、角色和具备资源访问条件的资源访问权限的对应关系。
7.如权利要求5所述的权限管理方法,其特征在于,所述对资源访问条件评估成功时允许用户对资源的访问为:
遍历资源访问条件,有一项资源访问条件评估成功,允许用户对资源的访问。
8.如权利要求5所述的权限管理方法,其特征在于,所述允许或拒绝用户访问的资源为资源类型和资源实例的组合。
9.一种权限管理装置,其特征在于,该装置包括角色模块、权限模块、查询服务模块和响应模块;
所述角色模块,存储设置的角色、权限管理装置外部输入的用户数据和结合用户数据设置的角色与用户的对应关系;
所述权限模块,存储设置的资源访问条件、设置的具备资源访问条件的资源访问权限和设置的资源访问权限与角色的对应关系,所述资源访问条件为布尔表达式;所述资源访问条件为:使用基于用户的条件,基于资源的条件,基于访问类型的条件,或者公共条件中的至少一项设置的资源访问条件;
所述查询服务模块,接收用户访问资源的请求,根据权限模块中存储的资源访问权限与角色的对应关系、角色模块中存储的用户数据、角色以及角色与用户的对应关系,查询用户的角色对应的资源访问权限和用户对应的资源访问条件,评估用户对应的资源访问条件;
所述响应模块,根据查询服务模块的查询发送允许或拒绝用户访问资源的响应。
10.如权利要求9所述的权限管理装置,其特征在于,所述查询服务模块包括权限查询服务模块、权限查询接口和条件查询服务模块;
所述权限查询服务模块,通过权限查询接口接收用户访问资源的请求,根据所述角色模块中存储的用户数据、角色以及角色和用户的对应关系,权限模块中存储的资源访问权限和角色的对应关系,查询用户的角色对应的资源访问权限;
所述条件查询服务模块,通过权限查询接口接收用户访问资源的请求,根据所述权限模块中存储的资源访问条件,查询与用户对应的资源访问条件,评估查询到的资源访问条件。
11.如权利要求10所述的权限管理装置,其特征在于,所述条件查询服务模块包括查询单元和规则引擎;
所述查询单元,查询与用户对应的资源访问条件,并调用规则引擎的执行结果;
所述规则引擎,供查询单元调用,编译和执行查询单元中的资源访问条件。
12.如权利要求11所述的权限管理装置,其特征在于,所述装置中进一步包括资源实例权限配置接口;
所述资源实例权限配置接口,供权限管理装置外的权限配置实体调用,传输角色模块中存储的角色、权限模块中存储的资源数据给装置外部的资源实例权限配置实体;权限管理装置外的权限配置实体通过资源实例权限配置接口,将针对资源实例的权限配置结果传输到权限模块存储。
技术领域\n本发明涉及权限管理领域,特别涉及权限管理方法及装置。\n背景技术\n在互联网技术应用系统中,对用户进行身份验证和鉴权是应用系统的基本功能,鉴权就是解决用户对不同资源的访问权限问题。为了解决用户的权限管理问题,目前业界已经提出了一些权限管理模型,其中,角色访问控制(RBAC)模型是目前应用较为广泛的模型之一。\n基于RBAC模型的权限管理,是指应用RBAC模型的权限管理单元配置资源访问权限和为用户提供资源访问权限的查询,其中为用户提供资源访问权限的查询是权限管理的主要内容。以一个简单实例说明目前权限管理单元为用户提供对资源访问权限查询的方式。假设用户需要访问的资源是文档,则首先向权限管理单元发出访问文档的请求,该请求中包含用户信息、资源类型和访问类型,其中用户信息可以指用户名,资源类型可以指文档、视频等,访问类型可以指删除、修改等。权限管理单元首先查找与该用户关联的所有角色,再查找与这些角色关联的权限集合,如果用户所请求的对文档的访问权限在查找到的权限集合中,权限管理单元将允许用户发出的对文档的访问请求,否则拒绝用户发出的对文档的访问请求。\n基于RBAC模型的权限管理在实际应用中,往往需要对资源访问权限做更进一步限制。如上述实例所述,对访问文档这一资源访问权限进行更进一步的限制,如只有在一天当中的某个时段用户才能访问文档,权限管理系统为用户提供该资源访问权限的查询时,除了按照上述使用用户、角色及资源访问权限的关联进行查询外,还可以直接查询用户请求访问的时段是否符合资源访问权限中定义的时段,以此判断用户是否具备该资源访问权限。现有技术基于RBAC模型的权限管理,只为用户提供关联角色的资源类型级别的查询,而无法直接查询用户是否符合资源访问权限的限制条件,无法做到上述更灵活、更细化的权限管理。\n发明内容\n有鉴于此,一方面提供一种权限管理方法,该方法能够实现更灵活、更细化的权限管理。\n另一方面提供一种权限管理方法,该方法能够实现更灵活、更细化的权限管理。\n同时,提供一种权限管理装置,该装置能够实现更灵活、更细化的权限管理。\n一种权限管理方法,该方法包括以下步骤:\n查询用户的角色是否有对应的资源访问权限集合;\n当用户的角色没有对应的资源访问权限时,继续查询用户是否有对应的资源访问条件,所述资源访问条件为布尔表达式;\n如果用户没有对应的资源访问条件,拒绝用户对资源的访问;\n如果用户有对应的资源访问条件,评估资源访问条件成功时允许用户对资源的访问;\n评估资源访问条件失败时拒绝用户对资源的访问。\n一种权限管理方法,该方法包括以下步骤:\n查询用户是否有对应的资源访问条件,所述资源访问条件为布尔表达式;\n如果用户有对应的资源访问条件,评估资源访问条件成功时允许用户对资源的访问;\n评估资源访问条件失败或用户没有对应的资源访问条件时,继续查询用户的角色是否有对应的资源访问权限;\n如果用户的角色有对应的资源访问权限,允许用户对资源的访问。\n一种权限管理装置,该装置包括角色模块、权限模块、查询服务模块和响应模块;\n所述角色模块,存储设置的角色、权限管理装置外部输入的用户数据和结合用户数据设置的角色与用户的对应关系;\n所述权限模块,存储设置的资源访问条件、设置的具备资源访问条件的资源访问权限和设置的资源访问权限与角色的对应关系,所述资源访问条件为布尔表达式;\n所述查询服务模块,接收用户访问资源的请求,根据权限模块中存储的资源访问权限与角色的对应关系、角色模块中存储的用户数据、角色以及角色与用户的对应关系,查询用户的角色对应的资源访问权限和用户对应的资源访问条件,评估用户对应的资源访问条件;\n所述响应模块,根据查询模块的查询,返回允许或拒绝用户访问资源的响应。\n上述权限管理方法和装置,在通过用户和角色、以及角色和资源访问权限的关联的查询方式基础上,进一步提供了通过用户和资源访问条件关联的查询方式,这种通过用户和资源访问条件关联的查询方式为用户提供更灵活、更细化的查询,实现了更灵活、更细化的权限管理。\n附图说明\n图1为本发明实施例第一种权限管理方法流程图;\n图2为本发明实施例第二种权限管理方法流程图;\n图3为本发明实施例两种权限管理方法中角色分配流程图;\n图4为本发明实施例两种权限管理方法中权限分配流程图;\n图5为本发明实施例第一种权限管理方法中查询流程图;\n图6为本发明实施例权限管理装置结构示意图;\n图7为本发明实施例RBAC模型结构示意图。\n具体实施方式\n本发明实施例提供的权限管理方法,预先设置角色和用户的对应关系、角色和具备资源访问条件的资源访问权限的对应关系;查询用户的角色是否有对应的资源访问权限,当用户的角色没有对应的资源访问权限时,继续查询用户是否有对应的资源访问条件;如果用户没有对应的资源访问条件,拒绝用户对资源的访问,如果用户有对应的资源访问条件,评估资源访问条件成功时允许用户对资源的访问,评估资源访问条件失败时拒绝用户对资源的访问。\n本发明实施例提供的权限管理方法,预先设置角色和用户的对应关系、角色和具备资源访问条件的资源访问权限的对应关系;查询用户是否有对应的资源访问条件,如果用户有对应的资源访问条件,评估资源访问条件成功时允许用户对资源的访问,评估资源访问条件失败或用户没有对应的资源访问条件时,继续查询用户的角色是否有对应的资源访问权限;如果用户的角色有对应的资源访问权限允许用户对资源的访问。\n本发明实施例提供的权限管理装置,该装置包括角色模块、权限模块、查询服务模块和响应模块。角色模块,存储设置的角色、权限管理装置外部输入的用户数据和结合用户数据设置的角色与用户的对应关系;权限模块,存储设置的资源访问条件、设置的具备资源访问条件的资源访问权限和设置的资源访问权限与角色的对应关系;查询服务模块,接收用户访问资源的请求,根据权限模块中存储的资源访问权限与角色的对应关系、角色模块中存储的用户数据、角色以及角色与用户的对应关系,查询用户的角色对应的资源访问权限和用户对应的资源访问条件,评估用户对应的资源访问条件;响应模块,根据查询模块的查询,返回允许或拒绝用户访问资源的响应。\n以上所描述的资源访问权限具备的资源访问条件,可以是基于用户的条件,基于资源的条件,基于访问类型的条件,其他公共条件或是上述条件中的一项或任意几项的组合。设置包括资源、资源访问条件和访问类型的三元组,使用该三元组标识资源访问权限,将资源访问权限关联到一个或一个以上角色,形成角色和具备资源访问条件的资源访问权限的对应关系。\n下面,对本发明实施例提供的权限管理方法进行详细描述。本发明实施例提供了两种权限管理方法,图1示出了本发明实施例第一种权限管理方法流程,预先设置角色和用户的对应关系、角色和具备资源访问条件的资源访问权限的对应关系,该流程包括:\n步骤101:查询用户的角色是否有对应的资源访问权限,当用户的角色有对应的资源访问权限时,允许用户对资源的访问,当用户的角色没有对应的资访问权限时,继续执行步骤102。\n本步骤中,按照用户与角色的关联、角色和资源访问权限的关联,查询与用户的角色有对应关系的资源访问权限,当用户的角色有对应的资源访问权限时即认为查询成功,允许用户对资源的访问。\n步骤102:查询用户是否有对应的资源访问条件,如果用户没有对应的资源访问条件,拒绝用户对资源的访问,如果用户有对应的资源访问条件,对资源访问条件评估成功时允许用户对资源的访问,评估失败时拒绝用户对资源的访问。\n本步骤中,在步骤101查询到用户的角色没有对应的资源访问权限的基础上,直接查询用户是否有对应的资源访问条件,当用户有对应的资源访问条件时,评估每一项资源访问条件,评估的具体方法可以是编译和执行每一项资源访问条件,有一项资源访问条件执行成功时认为评估成功,允许用户的对资源的访问,所有资源访问条件都执行不成功时认为评估失败,拒绝用户的对资源的访问。\n在上述步骤101~步骤102开始之前,预先设置的角色和用户的对应关系、角色和具备资源访问条件的资源访问权限的对应关系,实际应用时可以存储在存储器中。\n本发明实施例提供的第一种权限管理方法,预先设置具备资源访问条件的资源访问权限,在用户请求对资源访问时提供两种对资源访问权限的查询方式,为用户提供了更灵活、更细化的查询方式,实现了更细化、更灵活的权限管理。\n将上述步骤101和步骤102交换执行顺序,构成本发明实施例提供的第二种权限管理方法流程,图2示出了该流程,预先设置角色和用户的对应关系、角色和具备资源访问条件的资源访问权限的对应关系,该流程包括:\n步骤201:查询用户是否有对应的资源访问条件,如果用户没有对应的资源访问条件执行步骤202,如果用户有对应的资源访问条件,对资源访问条件评估成功时允许用户对资源的访问,评估失败时执行步骤202;\n步骤202:查询用户的角色是否有对应的资源访问权限,如果用户的角色有对应的资源访问权限,允许用户对资源的访问,如果用户的角色没有对应的资源访问权限,拒绝用户对资源的访问。\n同样的,在上述步骤201~步骤202开始之前,预先设置的角色和用户的对应关系、角色和具备资源访问条件的资源访问权限的对应关系,实体应用时可以存储在存储器中。\n本发明实施例提供的第二种权限管理方法,预先设置具备资源访问条件的资源访问权限,在用户请求对资源访问时提供两种对资源访问权限的查询方式,为用户提供了更灵活、更细化的查询方式,实现了更细化、更灵活的权限管理。\n如果进一步需要实现资源实例级别的权限管理,则在图1和图2所示流程的流程开始之前还可以包括配置资源实例权限,实现资源实例级别的统一权限管理。\n下面详细描述基于上述本发明实施例两种权限管理方法的较佳实施方式,分为角色分配流程、资源访问权限分配流程和查询流程分别描述。\n图3示出了本发明实施例两种权限管理方法中的角色分配流程,该流程包括:\n步骤301:设置包括角色名称、角色描述和角色继承关系的角色。\n本步骤中,使用角色数据标识角色,其中角色的继承关系通过为角色指定至少一个父角色实现。\n步骤302:根据用户数据设置角色和用户的对应关系。\n本步骤中,根据用户数据和设置好的角色数据,设置用户和角色的对应关系,具体为将用户关联到一个或一个以上角色,使用角色分配数据标识对应关系。这里所指的用户数据为权限管理外部实体中用户数据的一个子集,例如可以只记录用户名,用户属于某一用户组时,还可以包括用户组ID和组织ID。\n上述步骤301~步骤302描述了角色分配流程。其中在步骤301中,当直接设置用户与资源访问权限的对应关系时,还可以动态设置临时角色与该资源访问权限关联。\n图4示出了本发明实施例两种权限管理方法中资源访问权限分配流程,该流程包括:\n步骤401:设置包括资源类型名称、访问类型名称和规则项的资源数据,使用资源数据标识资源。\n本步骤中,设置的资源类型名称可以为标识不同资源的名称,例如文档、视频等,设置的访问类型名称可以为标识不同访问的名称,例如删除、修改等,规则项可以包括基于用户的条件例如获取用户所在的部门,基于资源类型的条件例如获取文档创建人、或者文档所在的目录名、或者文档类型,基于访问类型的条件例如获取访问类型的种类,种类可以是修改资源或不修改资源,或是任意公共规则项例如获取访问系统的URL地址、或者获取当前时间,也可以是上述一项或几项的任意组合。\n步骤402:根据规则项设置资源访问条件。\n本步骤中,根据步骤401中设置的规则项,可以以该规则项为条件,设置布尔表达式作为资源访问条件,例如文档创建人=当前用户,即在用户请求对文档访问时,需考虑请求访问文档的用户是否为该文档的创建人。\n步骤403:使用资源访问条件、资源类型名称和资源访问类型设置资源访问权限。\n本步骤中,根据步骤401和步骤402中的设置结果,使用资源类型名称、访问类型名称和资源访问条件设置资源访问权限,使用权限数据标识设置的资源访问权限。\n步骤404:根据角色分配流程中设置的角色分配数据和步骤403中设置的权限数据,设置角色和资源访问权限的对应关系。\n本步骤中,使用权限分配数据标识该对应关系,该权限分配数据由四元组标识,该四元组包括角色、资源类型、访问类型和资源访问条件。\n上述步骤401~步骤404描述了权限分配流程。如果在本发明实施例中考虑资源实例级别的权限管理,则步骤404中可以进一步包括使用资源访问类型、角色和资源实例名称设置权限分配数据,该权限分配数据也可以由四元组标识,该四元组包括角色、资源类型、访问类型和资源实例。综合考虑本发明实施例包括资源类型或是资源实例的情况,将权限分配数据由五元组标识,该五元组包括角色、资源类型、访问类型、资源实例和资源访问条件。其中,资源实例为空时,该五元组表示资源类型级别的资源访问权限分配;资源实例不为空时,该五元组表示资源实例级别的资源访问权限分配。\n图5示出了本发明实施例第一种权限管理方法中的查询流程图,该流程包括:\n步骤501:查询与用户有对应关系的所有角色。\n本步骤中,用户需要访问某一资源时,需要先发出访问该资源的请求,该请求中包括资源、访问类型和用户数据。查询时先根据用户数据查询与用户直接关联的所有角色,并进一步查询这些角色对应的所有父角色。\n步骤502:查找步骤501中的查询到的所有角色对应的资源访问权限。\n本步骤中,首先查询用户直接对应角色对应的资源访问权限。由于本发明实施例中,角色中包含角色继承关系,一个父角色可以对应多个角色,因此在查询用户直接对应角色对应的资源访问权限之后,进一步查询所有用户直接对应角色的父角色对应的资源访问权限,所有用户直接对应角色及其父角色对应的资源访问权限为本步骤中最终需要查询出的资源访问权限。\n步骤503:判断步骤502中是否查询到了用户的角色对应的资源访问权限,如果用户的角色有对应的资源访问权限,允许用户对资源的访问,如果用户的角色没有对应的资源访问权限,继续执行步骤504。\n步骤504:查询用户对应的资源访问条件。\n本步骤中,根据用户请求中的访问类型和资源,直接查询用户对应的资源访问条件。\n步骤505:判断步骤504中是否查询到了用户对应的资源访问条件,如果用户没有对应的资源访问条件,拒绝用户对资源的访问,如果用户有对应的资源访问条件,继续执行步骤506。\n步骤506:评估资源访问条件,评估成功时允许用户对资源的访问,评估失败时拒绝用户对资源的访问。\n本步骤中,如果步骤504中查询到了用户对应的资源访问条件,则需要遍历评估所有资源访问条件。评估的具体方法可以是,编译和执行每一项资源访问条件,有一项执行成功时则认为评估成功,当全部资源访问条件的执行都不成功时才认为评估失败。\n上述步骤501~步骤506描述了本发明实施例提供的第一种权限管理方法中的查询流程。如果将步骤504~步骤506调整到步骤501之前执行,并且在步骤505中如果用户没有对应的资源访问条件集合时继续执行步骤501,在步骤506中评估失败时继续执行步骤501,在步骤503中如果用户的角色没有对应的资源访问权限则拒绝用户对资源的访问,就可以构成本发明实施例提供的第二种权限管理方法中的查询流程,具体描述在这里不再赘述。\n以上所述本发明实施例提供的两种权限管理方法中的角色分配流程、资源访问权限分配流程和查询流程,说明本发明实施例提供的两种权限管理方法,实现设置具备资源访问条件的资源访问权限,提供两种资源访问权限的查询方式,实现更灵活、更细化的权限管理机制,还可以配置的资源实例级别的权限,实现资源实例级别的统一权限管理。\n按照本发明实施例提供的权限管理方法,设计出本发明实施例的权限管理装置。下面对本发明实施例提供的权限管理装置进行详细说明。图6示出了本发明实施例的权限管理装置结构示意图,该装置601包括:角色模块604、权限模块609、查询服务模块614和响应模块611,其中查询服务模块614又可以包括权限查询服务模块615、权限查询接口616和条件查询服务模块618,条件查询服务模块618又可以包括查询单元610和规则引擎617。\n角色模块604,存储设置的包括角色名称、角色描述、和角色继承关系的角色,该角色使用角色数据标识;存储权限管理装置外部输入的用户数据;存储结合用户数据设置的用户与角色的对应关系,该对应关系使用角色分配数据标识。以上描述中的角色继承关系,通过为角色指定父角色形成;角色的设置可以作为一种静态的设置。在实际应用中,当用户通过应用界面直接设置和资源访问权限的对应关系时,还可以动态创建临时角色,将该临时角色与用户设置的资源访问权限关联。\n权限模块609,存储设置的包括资源类型名称、访问类型名称和规则项的标识资源的资源数据;存储根据规则项设置的资源访问条件;存储根据资源数据和资源访条件设置的资源访问权限;存储根据角色模块609中存储的角色数据设置的角色和具备资源访问条件的资源访问权限的对应关系,该对应关系用权限分配数据标识。以上描述中的规则项,可以基于用户例如获取用户所在的部门,基于资源类型例如获取文档创建人、或者文档所在的目录名、或者文档类型,基于访问类型例如获取访问类型的种类,种类可以是修改资源或是不修改资源,或是任意公共规则项例如获取访问系统的URL地址、或是获取当前时间,也可以是上述一项或几项的任意组合;上述根据规则项设置资源访问条件,可以是将规则项作为条件,设置布尔表达式,例如文档创建人=当前用户,也可以是其他的设置方式。\n响应模块611,根据查询模块614的查询,返回允许或拒绝用户对资源访问的响应。\n查询服务模块614,包括权限查询服务模块615、权限查询接口616和条件查询服务模块618。\n其中,权限查询服务模块615,通过权限查询接口616接收用户对资源访问的请求,根据角色模块604中存储的用户数据、角色数据、角色分配数据以及权限模块609中存储的权限分配数据,查询与用户有对应关系的角色,按照角色查找与角色有对应关系的资源访问权限。\n条件查询服务模块618,通过权限查询接口616接收用户对资源访问的请求,根据权限模块609中存储的资源访问条件,查询用户对应的资源访问条件,评估用户对应的资源访问条件。\n上述条件查询服务模块618又包括查询单元610和规则引擎617。\n查询单元610,通过权限查询接口616接收用户对资源访问的请求,直接查询用户对应的资源访问条件,调用规则引擎617对每一项资源访问条件的执行结果。\n规则引擎617,供查询单元610调用,编译和执行查询到的每一项资源访问条件。\n本发明实施例中,当用户需要访问某项资源时,向权限管理装置601发送访问资源的请求,权限管理装置601查询用户具备的资源访问权限。上述权限查询服务模块615、权限查询接口616、规则引擎617和查询单元610构成的查询服务模块614,共同完成该查询功能。在实际应用中,为了保证查询的高效性,本发明实施例描述中的用户数据、角色数据、角色分配数据、资源类型数据、资源访问权限数据和资源访问权限分配数据,除了永久存储在应用环境的数据库中之外,还可以在应用环境的内存中缓存,查询时可以通过直接从内存中调用各种配置好的数据来进行,这样避免每一次都先从数据库将数据调度到内存,再从内存调用数据,提高查询效率。\n以上所述本发明实施例提供的权限管理装置,设置具备资源访问条件的资源访问权限,提供两种查询用户资源访问权限的方式,使查询方式更灵活、更细化,从而实现了更灵活、更细化的权限管理。\n下面以一个实例说明上述本发明实施例提供的权限管理装置,按照本发明实施例提供的权限管理方法提供查询的方式。假设用户需要对文档进行删除操作,按照传统查询方式为用户提供对文档访问权限的查询。用户向权限查询服务模块615发送用户请求,该用户请求中包括用户ID,资源类型即文档,访问类型即删除。权限查询服务模块615通过权限查询接口616接收用户请求,根据角色模块606中存储的用户数据、角色数据和角色分配数据以及权限模块612中存储的权限分配数据,查找与用户有对应关系的角色,按照角色查找与角色有对应关系的资源访问权限,如果角色有对应的资源访问权限则允许用户访问资源,如果角色没有对应的资源访问权限则拒绝用户访问资源。而在本发明实施例中,由于角色包括角色继承关系,上述查询与角色有对应关系的资源访问权限时,还考虑了与用户直接相关的角色所对应的父角色,即查询出的资源访问权限中也包括了与用户直接对应的角色的父角色所对应的资源访问权限。如果角色没有对应的资源访问权限,可以进一步直接查询用户对应的资源访问条件,如果查询到用户对应的资源访问条件,评估每一项资源访问条件,有一项资源访问条件的评估成功时允许用户对资源的访问,当所有资源访问条件都评估失败时拒绝用户对资源的访问。上述评估的方法可以时编译和执行资源访问条件,执行成功时认为评估成功,执行失败时认为评估失败。假设本实例中用户的角色没有对应的资源访问权限,进一步查询到与用户直接对应的一项资源访问条件,即当前用户=文档创建人,编译和执行该资源访问条件,执行成功时认为评估成功允许用户对文档访问,否则认为评估失败拒绝用户对文档访问。\n在上述本发明实施例提供的权限管理装置中,可以进一步包括资源实例权限配置接口613。权限管理装置601外部的权限配置实体可以调用资源实例权限配置接口613,读取角色模块604和权限模块609中的角色数据、资源类型数据,利用读取的数据配置针对资源实例的资源访问权限,并将配置结果通过资源实例权限配置接口613传输到权限模块609中存储。\n从以上描述中可以看出,本发明实施例的权限管理装置中,进一步包括资源实例权限配置接口613的情况下,可以实现将权限管理的层次细化到资源实例级别。而在现有技术中,资源实例级别的操作权限管理往往都由各业务系统自身实现,即由业务系统自身完成对用户资源实例级别的资源访问权限查询,这样的权限管理方式不利于对资源访问权限的统一管理。上述本发明实施例的权限管理装置中,权限管理装置601中进一步包括资源实例权限配置接口613的情况下,就可以实现资源实例级别的统一权限管理。\n仍以上述实例说明,用户可以请求对名称为路由器配置的文档进行删除操作,用户请求的资源访问权限在文档基础上细化到了名称为路由器配置的文档,由于权限管理装置601通过资源实例权限配置接口613接收了装置外部权限配置实体配置的资源实例访问权限,因此权限管理装置601可以查询该请求是否有资源访问权限。\n以上所述本发明实施例提供的权限管理装置,支持角色的动态和静态设置以及角色继承关系的设置;通过提供两种查询用户资源访问权限的方式,实现了更细化、更灵活的权限管理;通过资源实例权限配置接口613接收装置外部实体配置的资源实例访问权限,实现资源实例级别的统一权限管理。\n按照以上对本发明实施例权限管理装置的描述,本发明实施例对现有RBAC模型进行了优化,图7示出了本发明实施例优化后RBAC模型的结构示意图。可以看出,优化后的RBAC模型中,权限部分增加了资源访问条件和资源实例。\n综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
法律信息
- 2019-02-01
未缴年费专利权终止
IPC(主分类): H04L 9/32
专利号: ZL 200710080188.5
申请日: 2007.02.14
授权公告日: 2010.06.23
- 2010-06-23
- 2007-11-07
- 2007-09-12
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2004-12-29
|
2004-01-13
| | |
2
| |
2005-07-06
|
2003-12-26
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |