专利名称:一种权限控制方法和装置的制作方法
技术领域:
本发明涉及文件处理领域,尤其涉及一种权限控制方法和装置。
背景技术:
在现有技术中,文档库系统为了安全等因素,本身拥有一定的预设权限,如查看文 档,查看目录等,但这些权限都是简单的二值权限,无法满足日新月异的应用增长需求,比 如无法表达打印份数权限以及显示水印数目权限等。更为重要的事,目前自定义权限的方式虽然存储在文档库系统中,但是每次在判 断权限时,都是应用软件首先从文档库系统中获取相应的权限信息,并由应用软件来进行 判断。这种情况下,文档库系统仅仅作为存储工具,无法理解自定义权限本身的含义。同时, 这样情况下,自定义权限的使用范围有也严格控制,即,哪个应用软件定义的权限只能由其 自身判断。举例来说,应用软件A在文档库中定义了权限a,这时仅仅应用软件A才能理解 权限a,权限a仅对应用软件A有效;当某一角色通过应用软件B访问文档库系统时,由于 应用软件B无法理解权限a,不能对权限a进行判断,因此权限a对应用软件B无效。也就 是说,现有技术的方法使得自定义权限只对特定程序有效,而不是所有可以使用该文档库 的程序有效。其次,由于文档库系统本身拥有大量的操作,使得处于外部的应用软件设置的权 限要和原有的权限完美配合是非常困难。例如,应用软件A设置一个自定义权限a,但文档 库系统中预设权限中有5个权限的变化都会影响到自定义权限a,那么应用软件A就必须时 时检测5个权限的变化,极容易出现权限判断纰漏,使得系统出现漏洞。为此,需要迫切需要一种权限控制方法,能同时解决以上问题。
发明内容
本发明要解决的技术问题是提供一种权限控制方法和装置,可以更灵活的设置自 定义权限。为了解决上述问题,本发明实施例提供了一种权限控制方法,包括预先注册并保存一自定义权限的权限描述信息;保存通过应用软件为一角色设定对一数据的所述自定义权限的权限值;根据一角色对一数据的相应操作请求,查找所述角色针对所述数据的权限值,并 根据权限描述信息分析并判断当前角色是否具有权限。其中,所述权限描述信息包括权限名称,用于唯一标示所述自定义权限;数据类型,用于标示权限值的数据类型;权限比较算法,用于定义权限数值的含义;和/或权限效果算法,用于描述该权限对其他权限的影响。其中,所述权限描述信息进一步包括
在未授权状态下权限的默认值。其中,采用预设算法方式或嵌入脚本方式来描述所述权限比较算法、权限效果算法。本发明实施例还提供了一种权限控制装置,包括第一模块,用于保存一自定义权限的权限描述信息;第二模块,用于保存通过应用软件为一角色设定对一数据的所述自定义权限的权 限值;第三模块,用于根据一角色对一数据的相应操作请求,查找所述角色针对所述数 据的权限值,并根据权限描述信息分析并判断当前角色是否具有权限。其中,进一步包括第四模块,用于根据第三模块的判断结果,来执行相应的操作;或拒绝执行相应的 操作。通过本发明实施例提供的技术方案,本发明的技术方案能够根据各种需求设置各 类自定义权限,并提供了对于各类自定义权限的判断方法。利用这种方式,使得文档库系统 可以根据权限描述信息来理解和解析权限,从而做出权限判断,最终可以使得一个应用软 件定义的权限,在另一应用软件没有做任何对应实现的情况下仍然有效,使得不同的应用 软件间可以共享各种自定义的特殊权限限定,提高系统扩展性。另外,即使在单一系统中, 自定义权限定义成为文档库系统的一部份,使应用软件不需要在各个模块对权限频繁的进 行检验,既减轻了应用软件开发的难度,也同时使得自定义权限和文档库预置权限紧密结 合,减少了系统的权限漏洞。
图1所示为本发明一实施例提供的一种权限设置方法的流程示意图;图2所示为本发明另一实施例提供的权限设置方法的流程示意图。
具体实施例方式下面将结合附图及实施例对本发明的技术方案进行更详细的说明。需要说明的是,如果不冲突,本发明实施例以及实施例中的各个特征可以相互结 合,均在本发明的保护范围之内。另外,在附图的流程图示出的步骤可以在诸如一组计算机 可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况 下,可以以不同于此处的顺序执行所示出或描述的步骤。本发明实施例提供了一种权限设置方法,该方法可应用于文档库系统中,其中文 档库系统为提供文档数据操作的底层系统,应用软件为围绕文档库系统功能开发的上层应 用系统。如图1所示,该方法包括如下步骤步骤101 提供一个自定义权限描述信息注册一个自定义权限;具体来说,权限的 描述信息由如下部分构成权限名称用于唯一标示该权限,通过该名称可以获取/设置该权限的权限值;权限的数据类型用于标示权限值的数据类型,如整型,字符型,日期型等;比如 对于打印份数权限来说,数据类型可以是整型;对于有效期权限来说,数据类型可以是日期
4型;权限比较算法描述定义权限数值的含义;比如,在定义打印份数权限时,权限比 较算法可以是份数值大于0时,表示拥有打印权限,否则没有打印权限;权限效果算法描述用于描述该权限设定后的效果,如对其他权限的影响。举例说明,如果自定义的打印份数权限的权限效果算法为权限值为0表明没有 打印权限;那么,即使某角色具有打印权限,当该角色的打印份数权限权限值为0时,该角 色仍然不具备打印权限。在本发明一实施例中,权限的描述信息还可以包括在未授权状况下的默认值,定 义在没有设置权限时,角色的操作权限;假如可以定义当未对某一个角色赋予任何打印 权限时,意味着该角色不具有任何权限;或者也可以定义当未对某一个角色赋予任何打 印权限时,意味着该角色拥有一次或多次打印权限。举例来说,对于打印份数权限来说,默 认值可以是0,即表示不授权就没有打印权限;也可以是9999,即表示不授权就是无限制的 打印。文档库系统可以在后续权限判断中主要利用权限比较算法和权限效果算法。相比于现有技术中文档库系统仅保存权限值信息,本发明正是因为文档库系统中 存储的是权限描述信息,使得文档库系统可以理解权限含义。本领域技术人员可以理解该步骤即可以是通过应用软件发起,向文档库系统注 册;也可以是直接由文档库系统自行注册。在本发明一实施例中,可以预先在系统中预置、保存多种不同的权限比较算法和/ 或权限效果算法,每种算法都具有唯一标识,这样在权限描述信息中直接采用唯一标识来 描述权限比较算法和/或权限效果算法。在本发明另一实施例中,还可以是采用嵌入脚本方式来描述权限比较算法和/或 权限效果算法。如使用javascript,perl等脚本语言按特定接口方式实现一个权限比较算 法和/或权限效果算法,在所述描述信息中采用该嵌入脚本描述权限比较算法和/或权限 效果算法。步骤102 通过应用软件为某一角色设定对某一数据的权限,具体来说,即为角色 针对某个数据赋予权限值;文档库系统保存该权限值。步骤103 根据操作请求(角色针对某一数据的操作请求),查找角色针对该数据 的相应权限值,并根据权限描述信息分析并判断当前角色是否具有权限。这里,发送操作请求的应用软件和设定相应权限描述信息的应用软件可以相同或 不同。当接收到应用软件的操作请求时,查找相关的权限值,以及相关的权限描述信息; 根据权限值以及权限描述信息中的权限比较算法和/或权限效果算法来判断是否具有相 关权限。通常来说,如果权限值符合权限比较算法和/或权限效果算法中的规则,则具有相 应的操作权限。步骤104 如果有权限则根据操作请求进行相应操作;否则拒绝相应的操作。采用了本实施例的方法后,可以实现多个应用软件共享自定义权限。本领域技术人员可以理解,以上方法不仅可以应用于文档库系统,还可以应用于 其他平台软件。
以下以自定义打印份数权限为例进一步说明本发明实施例权限控制方法。该例子 中,打印份数是指允许用户打印的数量,如图2所示,该方法包括如下步骤步骤201 应用软件A注册自定义权限ρ。步骤202 文档库系统存储自定义权限ρ的描述信息,具体如下权限名打印份数权限;类型整型;比较算法使用预置算法,具体来说,权限值> 0表示有打印权限,否则为无打印 权限;效果算法使用预置算法,具体来说,如果没有设置权限即无打印权限;默认值0,即默认不允许打印。步骤203 应用软件A对角色R进行授权时,对角色R指定文档D,设置自定义权限 P的权限值。比如可以设置角色R针对文档D的权限P的权限值为5。步骤204 文档库系统根据应用软件A的设置保存角色R针对文档D的权限ρ的 权限值。步骤205 应用软件B使用角色R进行登录,并发送文档库操作请求,对文档D进 行打印。步骤206 文档库系统首先会遍历所有权限,发现打印份数权限会影响到打印权 限是否有效;文档库系统进一步获取角色R针对文档D的权限ρ的权限值以及打印份数权 限描述信息,并使用权限比较算法(即> 0)对权限值进行验证,经判断得出如果权限值大 于0,则表明角色R对文档D有打印权限,跳转到步骤208,否则进行步骤207。比如,若角色 R针对文档D的权限ρ的权限值为5时,由于5 > 0,所以此时角色R对文档D有打印权限。步骤207 提示无权限操作,结束流程。步骤208 文档库系统处理应用软件B的打印请求,开始打印操作。每打印一份后 将角色R对文档D的打印份数权限的权限值减去1。本发明一实施例还提供了一种权限控制装置,该装置包括第一模块,用于保存自定义权限的权限描述信息;第二模块,用于保存通过应用软件为某一角色设定对某一数据的权限值;第三模块,用于根据操作请求查找到相应的权限值以及相应的权限描述信息;并 根据权限描述信息中的权限比较算法和/或权限效果算法来判断当前角色是否具有权限;第四模块,用于根据第三模块的判断结果,来执行相应的操作;或拒绝执行相应的 操作。该实施方式中,该装置的各模块可以复用文档库系统中的已有的功能模块。第一 模块可以作为提供给应用软件在文档库系统中设定权限的描述信息的一个接口。该实施方 式中,所述第二模块还可以用于当接收到应用软件对一角色的授权操作时,根据该授权操 作找到相应权限的描述信息,在该描述信息中保存该角色的权限值。其它实现细节可与实 施例一、二相同。显然,本领域的技术人员应该明白,上述的各模块或各步骤可以用通用的计算装 置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上, 可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模 块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。 当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟 悉本领域的技术人员当可根据本发明做出各种相应的改变和变形,但这些相应的改变和变 形都应属于本发明的权利要求的保护范围。
权利要求
1.一种权限控制方法,其特征在于,包括 预先注册并保存一自定义权限的权限描述信息;保存通过应用软件为一角色设定对一数据的所述自定义权限的权限值; 根据一角色对一数据的相应操作请求,查找所述角色针对所述数据的权限值,并根据 权限描述信息分析并判断当前角色是否具有权限。
2.如权利要求1所述的方法,其特征在于,所述权限描述信息包括 权限名称,用于唯一标示所述自定义权限;数据类型,用于标示权限值的数据类型; 权限比较算法,用于定义权限数值的含义;和/或 权限效果算法,用于描述该权限对其他权限的影响。
3.如权利要求2所述的方法,其特征在于,所述权限描述信息进一步包括 在未授权状态下权限的默认值。
4.如权利要求2所述的方法,其特征在于,采用预设算法方式或嵌入脚本方式来描述 所述权限比较算法、权限效果算法。
5.一种权限控制装置,其特征在于,包括第一模块,用于保存一自定义权限的权限描述信息;第二模块,用于保存通过应用软件为一角色设定对一数据的所述自定义权限的权限值;第三模块,用于根据一角色对一数据的相应操作请求,查找所述角色针对所述数据的 权限值,并根据权限描述信息分析并判断当前角色是否具有权限。
6.如权利要求5所述的装置,其特征在于,进一步包括第四模块,用于根据第三模块的判断结果,来执行相应的操作;或拒绝执行相应的操作。
全文摘要
本发明实施例提供了一种权限控制方法和装置,可以更灵活的设置自定义权限。其中,该权限控制方法包括预先注册并保存一自定义权限的权限描述信息;保存通过应用软件为一角色设定对一数据的该定义权限的权限值;根据一角色对一数据的相应操作请求,查找所述角色针对所述数据的权限值,并根据权限描述信息分析并判断当前角色是否具有权限。
文档编号G06F21/00GK102096785SQ20111004547
公开日2011年6月15日 申请日期2011年2月24日 优先权日2011年2月24日
发明者李明 申请人:北京书生国际信息技术有限公司, 北京书生数字图书馆软件技术有限公司, 北京书生电子技术有限公司, 北京书生网络技术有限公司