文档权限控制方法和装置的制作方法

文档序号:6599234阅读:99来源:国知局

专利名称::文档权限控制方法和装置的制作方法
技术领域
:本发明涉及通信
技术领域
,尤其涉及一种文档权限控制方法和装置。
背景技术
:随着信息化程度提高,企业越来越多地利用计算机创建和处理电子业务信息,在方便快捷的同时也增加了信息被侦听、截获及非法拷贝的危险。尤其企业在商业活动中使用的诸如企业财务数据表、客户信息、研发文档、图片等需要保密的敏感信息资源,一旦泄漏将给公司带来巨大的信息资产损失,并给公司的声誉和业务关系带来危害。文档安全权限管理系统通过对机密文档进行加密和实时用户权限控制,可为企业提供安全授权下的机密信息共享机制,又可以有效控制因不受权限限制的阅读、修改和分发文件导致的信息泄密。文档的基本安全权限控制一般包括(1)只读权限控制只能阅读文档,不能修改文档,不可以将文档另存;(2)修改权限控制可以修改文档,可以在文档内部进行复制粘贴,不可以将文档内容复制到外部,不可以将文档另存;(3)完全控制权限控制拥有所有权限。文档的附加安全权限控制一般包括(a)复制权限控制可以将文档内容复制到文档外部;(b)打印权限控制可以打印,还可以对打印次数和打印水印进行控制;(c)离线权限控制可以离线打开文档;(d)打开次数控制控制文档的打开次数;(e)有效期控制控制文档权限的有效期。但是,现有的文档安全权限控制方法存在支持的文档格式有限、改变文档默认的打开方式,以及打开多个文档时,系统开销和资源消耗大的问题。
发明内容本发明实施例提供一种文档权限控制方法和装置,以实现对各种类型的文档进行权限控制,并且不改变文档默认的打开方式。本发明实施例提供一种文档权限控制方法,包括当用户查看设置权限的文档时,根据所述用户的信息,从服务器获取并保存所述用户对所述文档拥有的权限;在所述文档的文件名中添加标识,并在所述文档对应的文档进程中打开所述文档;根据所述标识查找所述文档对应的文档窗口句柄,建立并保存所述文档窗口句柄、所述文档以及所述用户对所述文档拥有的权限的对应关系;当所述用户对所述文档进程中打开的至少两个文档之一进行操作时,根据当前操作文档的文档窗口句柄,在保存的对应关系中进行查找,获得所述用户对所述当前操作文档拥有的权限,并根据所述权限控制所述用户对所述当前操作文档的操作。本发明实施例还提供一种文档权限控制装置,包括权限获取模块,用于当用户查看设置权限的文档时,根据所述用户的信息,从服务器获取所述用户对所述文档拥有的权限;保存模块,用于保存所述权限获取模块获取的权限;添加模块,用于在所述文档的文件名中添加标识;打开模块,用于在所述文档对应的文档进程中打开所述文档;查找模块,用于根据所述添加模块添加的标识查找所述文档对应的文档窗口句柄;建立模块,用于建立所述查找模块查找到的文档窗口句柄、所述文档以及所述用户对所述文档拥有的权限的对应关系;所述保存模块,还用于保存所述建立模块建立的对应关系;获得模块,用于当所述用户对所述文档进程中打开的至少两个文档之一进行操作时,根据当前操作文档的文档窗口句柄,在所述保存模块保存的对应关系中进行查找,获得所述用户对所述当前操作文档拥有的权限;控制模块,用于根据所述获得模块获得的权限控制所述用户对所述当前操作文档的操作。本发明实施例,在文档的文件名中添加标识,根据该标识查找文档对应的文档窗口句柄,建立并保存文档窗口句柄、文档以及用户对该文档拥有的权限的对应关系;当该用户对该文档对应的文档进程中打开的至少两个文档之一进行操作时,根据当前操作文档的文档窗口句柄,在保存的对应关系中进行查找,获得该用户对当前操作文档拥有的权限,进而可以根据该权限控制用户对文档的操作。从而实现了对各种类型的文档进行权限控制,并且不改变文档默认的打开方式,在打开多个文档时,避免了系统开销和资源消耗的增加。为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明文档权限控制方法一个实施例的流程图;图2为本发明文档权限控制方法另一个实施例的流程图;图3为本发明文档权限控制装置一个实施例的结构示意图;图4为本发明文档权限控制装置另一个实施例的结构示意图。具体实施例方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。图1为本发明文档权限控制方法一个实施例的流程图,如图1所示,该实施例可以包括步骤101,当用户查看设置权限的文档时,根据该用户的信息,从服务器获取并保存该用户对该文档拥有的权限。本实施例中,文档作者或文档管理员设置用户对文档拥有的权限之后,客户端将设置的用户对文档拥有的权限上传至服务器,由服务器保存该权限。具体地,文档作者或文档管理员可以根据用户的级别设置用户对文档拥有的权限,例如普通用户对该文档拥有只读权限,中级用户对该文档拥有修改权限,高级用户对该文档拥有完全控制权限等;服务器可以在数据库或数据文件中对应保存不同级别的用户对该文档拥有的权限;当用户查看设置权限的文档时,客户端可以将该用户的信息发送至服务器,在服务器根据该用户的信息确定该用户的级别,进而根据该用户的级别确定该用户对该文档拥有的权限之后,客户端可以从服务器获取该用户对该文档拥有的权限,然后客户端保存获取的该用户对该文档拥有的权限;其中,该用户的信息可以为该用户的用户名或用户标识等可以标识该用户身份的信息。以上仅是本实施例的一种实现方式,本发明实施例并不仅限于此,本发明实施例对文档权限的设置方式、服务器保存文档权限的方式和客户端从服务器获取文档权限的方式不作限定,只要客户端可以根据用户的信息,从服务器获取该用户对该文档拥有的权限即可。步骤102,在该文档的文件名中添加标识,并在该文档对应的文档进程中打开该文档。本实施例中,文档系统默认文档的窗口标题为该文档的文件名,客户端在该文档的文件名中添加标识之后,该文档的窗口标题中会自动包含该标识。该标识可以根据该文档的全路径名生成;具体地,客户端可以根据文档的全路径名通过信息-摘要5(Message-DigestAlgorithm5;以下简称MD5)算法生成该标识。由于文档的全路径名在Windows操作系统中是唯一的,因此根据该文档的全路径名生成的标识在Windows操作系统中也是唯一的。当然本发明实施例并不仅限于此,客户端也可以采用其他的方式生成上述标识,只要生成的标识在操作系统中唯一即可,本发明实施例中的操作系统也并不仅限于Windows操作系统,该操作系统还可以为Linux或Unix操作系统,但本发明实施例以Windows操作系统为例进行说明。本实施例中,客户端可以采用文档系统默认的“单进程多文档”方式,在该文档对应的文档进程中打开上述文档。步骤103,根据该标识查找该文档对应的文档窗口句柄,建立并保存该文档窗口句柄、该文档以及该用户对该文档拥有的权限的对应关系。本实施例中,由于上述标识在Windows操作系统中是唯一的,因此根据该标识可以唯一查找到该文档对应的文档窗口句柄。文档窗口句柄在Windows操作系统中是唯一的,文档窗口句柄可以唯一标识一个文档。在建立并保存该文档窗口句柄、该文档以及该用户对该文档拥有的权限的对应关系之后,客户端可以将文档的窗口标题恢复为文档系统默认的文件名。步骤104,当该用户对上述文档进程中打开的至少两个文档之一进行操作时,根据当前操作文档的文档窗口句柄,在保存的对应关系中进行查找,获得该用户对当前操作文档拥有的权限,并根据获得的权限控制该用户对当前操作文档的操作。在上述用户对上述文档进程中打开的至少两个文档之一进行打印、复制或保存等操作时,客户端可以根据当前操作文档的文档窗口句柄,在保存的对应关系中进行查找,获得该用户对该当前操作文档拥有的权限,然后客户端可以根据获得的权限控制该用户对该当前操作文档的操作;具体地,客户端可以通过Windows消息钩子(WindowsHook)技术,在该文档对应的文档进程中根据该用户对当前操作文档拥有的权限控制该用户对该当前操作文档的操作。本实施例中,文档的类型可以为Office或可移植文档格式(PortableDocumentFormat;以下简称PDF)等各种类型;该文档可以为安全加密文档,也可以为非加密文档。上述实施例中,客户端在文档的文件名中添加标识,根据该标识查找文档对应的文档窗口句柄,建立并保存文档窗口句柄、文档以及用户对该文档拥有的权限的对应关系;当该用户对该文档对应的文档进程中打开的至少两个文档之一进行操作时,根据当前操作文档的文档窗口句柄,在保存的对应关系中进行查找,获得该用户对当前操作文档拥有的权限,进而可以根据该权限控制用户对当前操作文档的操作。从而实现了对各种类型的文档进行权限控制,并且不改变文档默认的打开方式,在打开多个文档时,避免了系统开销和资源消耗的增加。图2为本发明文档权限控制方法另一个实施例的流程图,本实施例以文档为安全加密文档,操作系统为Windows操作系统为例进行说明。如图2所示,该实施例可以包括步骤201,当用户查看设置权限的安全加密文档时,客户端根据该用户的信息,从服务器获取并保存该用户对该安全加密文档拥有的权限。本实施例中,文档作者或文档管理员设置用户对安全加密文档拥有的权限之后,客户端将设置的用户对安全加密文档拥有的权限上传至服务器,由服务器保存该权限。具体地,文档作者或文档管理员可以根据用户的级别设置用户对安全加密文档拥有的权限,例如普通用户对该安全加密文档拥有只读权限,中级用户对该安全加密文档拥有修改权限,高级用户对该安全加密文档拥有完全控制权限等;服务器可以在数据库或数据文件中对应保存不同级别的用户对该安全加密文档拥有的权限;当用户查看设置权限的安全加密文档时,客户端可以将该用户的信息发送至服务器,在服务器根据该用户的信息确定该用户的级别,进而根据该用户的级别确定该用户对该安全加密文档拥有的权限之后,客户端可以从服务器获取该用户对该安全加密文档拥有的权限,然后客户端保存获取的该用户对该安全加密文档拥有的权限;其中,该用户的信息可以为该用户的用户名或用户标识等可以标识该用户身份的信息。以上仅是本发明的一种实现方式,本发明实施例并不仅限于此,本发明实施例对安全加密文档权限的设置方式、服务器保存安全加密文档权限的方式和客户端从服务器获取安全加密文档权限的方式不作限定,只要客户端可以根据用户的信息,从服务器获取该用户对该安全加密文档拥有的权限即可。步骤202,客户端在该安全加密文档的文件名中增加标识。本实施例中,文档系统默认安全加密文档的窗口标题为该安全加密文档的文件名,客户端在该安全加密文档的文件名中增加标识之后,该安全加密文档的窗口标题中会自动包含该标识。其中,客户端生成该标识时可以采用本发明图1所示实施例步骤102中提供的方法,在此不再赘述。步骤203,客户端对该安全加密文档进行解密,在该安全加密文档对应的文档进程中,进行打开该安全加密文档的操作。本实施例中,客户端在打开安全加密文档的操作中,可以采用文档系统默认的“单进程多文档”方式。步骤204,客户端根据标识查找该安全加密文档对应的文档窗口句柄,建立并保存该文档窗口句柄、该安全加密文档以及该用户对该安全加密文档拥有的权限的对应关系。本实施例中,由于上述标识在Windows操作系统中是唯一的,因此根据该标识可以唯一查找到该文档对应的文档窗口句柄。文档窗口句柄在Windows操作系统中是唯一的,文档窗口句柄可以唯一标识一个文档。步骤205,客户端将安全加密文档的窗口标题恢复为文档系统默认的文件名。这时,客户端将打开的安全加密文档显示给用户。步骤206,当该用户对上述文档进程中打开的至少两个安全加密文档之一进行操作时,根据当前操作文档的文档窗口句柄,在保存的对应关系中进行查找,获得该用户对当前操作文档拥有的权限,并根据获得的权限控制该用户对当前操作文档的操作。本实施例中,当用户对上述文档进程中打开的至少两个安全加密文档之一进行打印、复制或保存等操作时,客户端可以根据当前操作文档的文档窗口句柄,在保存的对应关系进行查找,获得该用户对该当前操作文档拥有的权限,然后客户端可以根据该权限控制用户对该当前操作文档的操作;具体地,客户端可以通过WindowsHook技术,在该安全加密文档对应的文档进程中根据用户对当前操作文档拥有的权限控制用户对该当前操作文档的操作。本实施例中,该安全加密文档的类型可以为Office或PDF等各种类型。上述实施例中,客户端在安全加密文档的文件名中添加标识,根据该标识查找该安全加密文档对应的文档窗口句柄,建立并保存文档窗口句柄、该安全加密文档以及用户对该安全加密文档拥有的权限的对应关系;当该用户对该安全加密文档对应的文档进程中打开的至少两个安全加密文档之一进行操作时,根据当前操作文档的文档窗口句柄,在保存的对应关系中进行查找,获得该用户对当前操作文档拥有的权限,进而可以根据该权限控制用户对当前操作文档的操作。从而实现了对各种类型的文档进行权限控制,并且不改变文档默认的打开方式,在打开多个文档时,避免了系统开销和资源消耗的增加。本领域普通技术人员可以理解实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括R0M、RAM、磁碟或者光盘等各种可以存储程序代码的介质。图3为本发明文档权限控制装置一个实施例的结构示意图,本实施例中的文档权限控制装置可以作为客户端,或客户端的一部分,实现本发明图1所示实施例的流程。本实施例提供的文档权限控制装置可用于Windows、Linux或Unix等操作系统,但本实施例以Windows操作系统为例进行说明。如图3所示,该文档权限控制装置可以包括权限获取模块31、保存模块32、添加模块33、打开模块34、查找模块35、建立模块36、获得模块37和控制模块38。其中,权限获取模块31,用于当用户查看设置权限的文档时,根据该用户的信息,从服务器获取该用户对该文档拥有的权限。保存模块32,用于保存权限获取模块31获取的权限。本实施例中,文档作者或文档管理员设置用户对文档拥有的权限之后,该权限被上传至服务器,由服务器保存该权限。具体地,文档作者或文档管理员可以根据用户的级别设置用户对文档拥有的权限,例如普通用户对该文档拥有只读权限,中级用户对该文档拥有修改权限,高级用户对该文档拥有完全控制权限等;服务器可以在数据库或数据文件中对应保存不同级别的用户对该文档拥有的权限;当用户查看设置权限的文档时,权限获取模块31可以将该用户的信息发送至服务器,在服务器根据该用户的信息确定该用户的级另IJ,进而根据该用户的级别确定该用户对该文档拥有的权限之后,权限获取模块31可以从服务器获取该用户对该文档拥有的权限,然后保存模块32可以保存权限获取模块31获取的该用户对该文档拥有的权限;其中,该用户的信息可以为该用户的用户名或用户标识等可以标识该用户身份的信息。以上仅是本实施例的一种实现方式,本发明实施例并不仅限于此,本发明实施例对文档权限的设置方式、服务器保存文档权限的方式和权限获取模块31从服务器获取文档权限的方式不作限定,只要权限获取模块31可以根据用户的信息,从服务器获取该用户对该文档拥有的权限即可。添加模块33,用于在该文档的文件名中添加标识;本实施例中,文档系统默认文档的窗口标题为该文档的文件名,添加模块33在该文档的文件名中添加标识之后,该文档的窗口标题中会自动包含该标识。打开模块34,用于在该文档对应的文档进程中打开该文档。查找模块35,用于根据添加模块33添加的标识查找该文档对应的文档窗口句柄;本实施例中,由于添加模块33添加的标识在Windows操作系统中是唯一的,因此根据该标识查找模块35可以唯一查找到该文档对应的文档窗口句柄。文档窗口句柄在Windows操作系统中是唯一的,文档窗口句柄可以唯一标识一个文档。建立模块36,用于建立查找模块35查找到的文档窗口句柄、该文档以及该用户对该文档拥有的权限的对应关系。这时,保存模块32还用于保存建立模块36建立的对应关系。在保存模块32保存上述对应关系之后,客户端可以将文档的窗口标题恢复为文档系统默认的文件名。获得模块37,用于当用户对上述文档进程中打开的至少两个文档之一进行操作时,根据当前操作文档的文档窗口句柄,在保存模块32保存的对应关系中进行查找,获得该用户对该当前操作文档拥有的权限。控制模块38,用于根据获得模块37获得的权限控制该用户对该当前操作文档的操作。具体地,控制模块38可以通过WindowsHook技术,在上述文档进程中根据获得模块37获得的的权限控制该用户对该当前操作文档的操作。图4为本发明文档权限控制装置另一个实施例的结构示意图,本实施例中的文档权限控制装置可以作为客户端,或客户端的一部分,实现本发明图1或图2所示实施例的流程。与图3所示的文档权限控制装置相比,不同的是,图4所示的文档权限控制装置还可以进一步包括生成模块39。其中,生成模块39,用于根据该文档的全路径名生成上述标识。具体地,生成模块39可以根据文档的全路径名通过MD5算法生成该标识。由于文档的全路径名在Windows操作系统中是唯一的,因此根据该文档的全路径名生成的标识在Windows操作系统中也是唯一的。当然本发明实施例并不仅限于此,客户端也可以采用其他的方式生成上述标识,只要生成的标识在操作系统中唯一即可。上述文档权限控制装置实现了对各种类型的文档进行权限控制,并且不改变文档默认的打开方式,在打开多个文档时,避免了系统开销和资源消耗的增加。本发明实施例提供一种文档权限控制方法和装置,可以在文档系统默认的“单进程多文档”方式下,根据文档窗口句柄,实现对文档权限的控制;并且在打开多个文档时,没有改变文档系统默认的“单进程多文档”方式,因此可以在同一个文档进程打开多个文档,避免了系统开销和资源消耗的增加;而且,本发明实施例并不仅限于Office文档和PDF文档,可以支持各种文档类型;并且本发明实施例提供的文档权限控制方法和装置不仅可用于Windows操作系统,也可用于Linux或Unix操作系统。本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。最后应说明的是以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。权利要求一种文档权限控制方法,其特征在于,包括当用户查看设置权限的文档时,根据所述用户的信息,从服务器获取并保存所述用户对所述文档拥有的权限;在所述文档的文件名中添加标识,并在所述文档对应的文档进程中打开所述文档;根据所述标识查找所述文档对应的文档窗口句柄,建立并保存所述文档窗口句柄、所述文档以及所述用户对所述文档拥有的权限的对应关系;当所述用户对所述文档进程中打开的至少两个文档之一进行操作时,根据当前操作文档的文档窗口句柄,在保存的对应关系中进行查找,获得所述用户对所述当前操作文档拥有的权限,并根据所述权限控制所述用户对所述当前操作文档的操作。2.根据权利要求1所述的方法,其特征在于,还包括根据所述文档的全路径名生成所述标识。3.根据权利要求1所述的方法,其特征在于,所述根据所述权限控制所述用户对所述当前操作文档的操作包括通过Windows消息钩子技术,在所述文档进程中根据所述权限控制所述用户对所述当前操作文档的操作。4.一种文档权限控制装置,其特征在于,包括权限获取模块,用于当用户查看设置权限的文档时,根据所述用户的信息,从服务器获取所述用户对所述文档拥有的权限;保存模块,用于保存所述权限获取模块获取的权限;添加模块,用于在所述文档的文件名中添加标识;打开模块,用于在所述文档对应的文档进程中打开所述文档;查找模块,用于根据所述添加模块添加的标识查找所述文档对应的文档窗口句柄;建立模块,用于建立所述查找模块查找到的文档窗口句柄、所述文档以及所述用户对所述文档拥有的权限的对应关系;所述保存模块,还用于保存所述建立模块建立的对应关系;获得模块,用于当所述用户对所述文档进程中打开的至少两个文档之一进行操作时,根据当前操作文档的文档窗口句柄,在所述保存模块保存的对应关系中进行查找,获得所述用户对所述当前操作文档拥有的权限;控制模块,用于根据所述获得模块获得的权限控制所述用户对所述当前操作文档的操作。5.根据权利要求4所述的装置,其特征在于,还包括生成模块,用于根据所述文档的全路径名生成所述标识。6.根据权利要求4所述的装置,其特征在于,所述控制模块具体用于通过Windows消息钩子技术,在所述文档进程中根据所述获得模块获得的权限控制所述用户对所述当前操作文档的操作。全文摘要本发明实施例提供一种文档权限控制方法和装置,该文档权限控制方法包括当用户查看设置权限的文档时,根据用户的信息,从服务器获取并保存用户对该文档拥有的权限;在文档的文件名中添加标识,并在该文档对应的文档进程中打开文档;根据标识查找该文档对应的文档窗口句柄,建立并保存文档窗口句柄、该文档以及该用户对该文档拥有的权限的对应关系;根据当前操作文档的文档窗口句柄,在保存的对应关系中进行查找,获得用户对当前操作文档拥有的权限,并根据该权限控制用户对当前操作文档的操作。本发明实施例实现了对各种类型的文档进行权限控制,并且不改变文档默认的打开方式,在打开多个文档时,避免了系统开销和资源消耗的增加。文档编号G06F21/00GK101840471SQ20101012492公开日2010年9月22日申请日期2010年3月12日优先权日2010年3月12日发明者蒋德志申请人:成都市华为赛门铁克科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1