具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例1
本发明实施例提供了一种可扩展标记语言文档管理XDM中转发文档内容的方法,参见图1,该方法包括:
101:接收转发发送者发送的转发请求,转发请求用于将文档内容转发给转发接收者;
102:根据权限文档,判断转发发送者是否拥有文档内容的转发权限以及转发接收者是否拥有文档内容的访问权限;
103:当转发发送者拥有转发权限且转发接收者拥有访问权限时,将文档内容转发给转发接收者。
其中,接收转发发送者发送的转发请求之前,还包括:
在权限文档中设置转发发送者的转发权限,并设置转发发送者的转发接收者列表;或者,
在权限文档中设置转发发送者的转发权限,并在权限文档中设置转发接收者访问权限;或者,
在权限文档中设置转发发送者的转发权限;或者,
在权限文档中设置转发发送者的转发权限,并设置转发发送者的禁止转发接收者列表。
其中,当方法包括在权限文档中设置转发发送者的转发权限,并设置转发发送者的转发接收者列表时,设置转发发送者的转发接收者列表,具体包括:
在动作元素(对应于权限文档中的<actions>元素)中的转发操作元素(对应于权限文档中的<a11ow-forwarding>元素)下扩展子元素,扩展子元素用于设置转发接收者列表;或者,
在一个条件元素(对应于权限文档中的<conditions>元素)下分别设置转发发送者列表和转发接收者列表;或者,
在不同的条件元素下分别设置转发发送者列表和转发接收者列表,并将转发发送者和转发接收者关联起来;或者,
当方法包括在权限文档中设置转发发送者的转发权限,并设置转发发送者的禁止转发接收者列表时,设置禁止转发接收者列表,具体包括:
在动作元素(对应于权限文档中的<actions>元素)中的转发操作元素(对应于权限文档中的<allow-forwarding>元素)下扩展子元素用于设置禁止转发接收者列表;或者,
在一个条件元素(对应于权限文档中的<conditions>元素)下分别设置转发发送者列表和禁止转发接收者列表;或者,
在不同的条件元素下分别设置转发发送者列表和禁止转发接收者列表,并将转发发送者和禁止转发接收者关联起来。
其中,当方法包括在权限文档中设置转发发送者的转发权限,并设置转发发送者的转发接收者列表时,
在权限文档中设置转发发送者的转发权限时,还包括:
设置转发发送者拥有转发权限的文档内容,并设置转发接收者的接收文档内容,接收文档内容包括转发发送者拥有转发权限的部分文档内容或整个文档内容;
当方法包括在权限文档中设置转发发送者的转发权限,并在权限文档中设置转发接收者访问权限时,
在权限文档中为转发发送者设置转发权限时,还包括:
设置转发发送者拥有转发权限的文档内容以及设置转发接收者拥有访问权限的文档内容;
当方法包括在权限文档中设置转发发送者的转发权限时,
在权限文档中为转发发送者设置转发权限时,还包括:
为转发发送者设置拥有转发权限的文档内容;
当方法包括在权限文档中设置转发发送者的转发权限,并设置转发发送者的禁止转发接收者列表时,
在权限文档中设置转发发送者的转发权限时,还包括:
设置转发发送者拥有转发权限的文档内容。
其中,当方法包括在权限文档中设置转发发送者的转发权限时,根据权限文档,判断转发发送者是否拥有文档内容的转发权限以及转发接收者是否拥有文档内容的访问权限,具体包括:
从权限文档中获取转发发送者对文档内容的访问权限,并判断转发发送者是否拥有对文档内容的转发权限;
当转发发送者拥有转发权限时,向文档管理用户的XDM客户端发送询问请求,询问转发接收者是否拥有文档内容的访问权限;
接收文档管理用户的XDM客户端返回的询问结果,当询问结果为是时,转发接收者拥有文档内容的访问权限。
其中,根据权限文档,判断转发发送者是否拥有文档内容的转发权限以及转发接收者是否拥有文档内容的访问权限,还包括:
接收接收转发发送者发送的转发请求之后,在权限文档中获取转发发送者的转发权限,如果权限文档中没有转发发送者的转发权限,向文档管理用户的XDM客户端发送询问请求,询问转发发送者是否拥有文档内容的转发权限以及转发接收者是否拥有文档内容的访问权限;
接收文档管理用户的XDM客户端返回的询问结果。
本发明实施例提供的方法,通过XDMS在设置转发发送者的转发权限时同时设置转发接收者或者收到转发请求后向文档管理者询问转发发送者的转发权限以及转发接收者的访问权限,实现了转发发送者根据XDMS中存储的访问权限文档中的权限设置将文档内容有选择性地转发给转发接收者,从而避免了转发发送者在拥有转发权限之后对文档的任意转发,也保证了文档创建者对文档的保密性。
实施例2
为了实现转发发送者根据XDMS中存储的访问权限文档中的权限设置将文档内容有选择性地转发给转发接收者,从而避免了转发发送者在拥有转发权限之后对文档的任意转发,保证文档创建者对文档的保密性,本发明实施例提供了一种XDM中转发文档内容的方法,具体内容如下:
本发明实施例提出的在XDM中实现内容选择性地转发给转发接收者的方法,其中,对于有选择性的转发可以采用两种方法:一种为在访问权限中为有转发权限的转发发送者设置其可以转发的转发接收者的URI(Uniform ResourceIdentifier,统一资源标示符),同时也可以设置转发的次数;另一种为如果拥有转发权限的转发发送者在转发文档时,将转发接收者的URI发送给XDMS,XDMS到访问权限文档中验证该URI是否拥有访问该文档内容的权限,其中以用户A为文档管理用户,用户B为转发发送者,用户C为转发接收者为例,参见图2,具体流程如下:
201:用户B向XDMS发送请求,请求将用户A的部分文档内容转发给用户C在XDMS的目录下;
其中,本发明实施例中用户A为文档管理用户,用户B为转发发送者,用户C为转发接收者,用户B请求将用户A的部分文档内容转发给用户C在XDMS的目录下;用户A作为文档管理用户,可以是XML文档的创建者,也可以是一个被授权且可以修改文档的访问权限的特殊用户,其他用户可以根据管理者用户A设定的访问权限,访问XDMS中的整个文档或者文档的部分内容;
用户B位于XDMC(Extensible Markup Language Document ManagementClient,可扩展标记语言文档管理客户端),向XDMS发送请求,请求将用户A的部分文档内容转发给用户C在XDMS的目录下,也可以是将用户A的整个文档内容,但必须用户B拥有转发整个文档内容的权限时,才可以向用户A请求将整个文档内容转发给用户C。
202:XDMS接收到请求后,获取用户A的权限文档,并判断用户B是否有转发权限以及判断用户C是否有该文档内容的权限;如果用户B有转发权限且用户C有该文明当内容的权限,执行步骤204;否则,执行步骤203;具体如下:
其中,XDMS在接收到请求后,首先在XDMS中获取用户A的访问权限文档,在访问权限文档中查看用户B是否有转发的权限;其次,当用户B拥有访问权限时,获取用户B能否将其拥有权限的文档内容转发给用户C,其中该转发过程是将XDMS中用户B能够访问的用户A的内容转发到XDMS中用户C的路径下,而不是转发到用户C拥有的XDM用户C;
其中,对于用户A的访问权限文档中用户B的转发权限的存储和设置以及用户B能否转发给用户C具体有两种存储和设置方法:
(1)用户A的权限文档中设置用户B拥有转发权限时,也设置用户B可以转发的转发接收者;如果用户A的权限文档中对于用户B的转发接收者中不包括用户C,则XDMS执行步骤203;如果用户A的权限文档中对于用户B的转发接收者中包括用户C,则XDMS执行步骤204;
其中,在设置用户B可以转发的转发接收者时还可以设置用户B的转发的次数对用户B进行限制;还可以设置用户B的转发内容,即用户B拥有文档转发权限,但可能只有文档的部分内容的转发权限,这样用户B只能转发其拥有转发权限的那部分内容;同样,还可以设置用户C的接收内容,该接收内容可以是用户B拥有转发权限的部分文档内容也可以是用户B拥有转发权限的整个文档内容。
其中,转发接收者在访问权限文档中设置的方法有以下六种,
<一>、在动作<actions>元素中的转发操作<allow-forwarding>元素下增加子元素<receipt>,用来表示允许转发的接收者。
<二>、在动作<actions>元素中的转发操作<allow-forwarding>元素下增加子元素<non-receipt>,用来表示禁止接收者
<三>、在一个条件<conditions>元素下定义转发的接收者和转发的发送者,即在<conditions>元素下定义两种子元素<sender>、<receipt>,分别用来描述转发的发送者和转发的接收者。
如:
<四>、在一个条件<conditions>元素下定义禁止的接收者和允许的发送者,即在<conditions>元素下定义两种子元素<sender>、<non-receipt>,分别用来描述允许的发送者和禁止的接收者。
如:
<五>、在不同的条件<conditions>元素下定义转发接收者和转发发送者,并且将转发发送者和转发接收者进行关联。即在一个<conditions>下定义<sender>,在另一个<conditions>下定义<receipt>。其中,转发发送者和转发接收者关联的方法有两种,一种用<rule>的属性值id进行关联,如果id值相同,则证明为同一个转发操作下的转发发送者和转发接收者;另一种方法为:在<conditions>元素下定义转发发送者时,将转发接收者进行关联
如例1:
<六>、在不同的条件<conditions>元素下定义转发接收者和转发发送者,并且将转发发送者和转发接收者进行关联。即在一个<conditions>下定义<sender>,在另一个<conditions>下定义<non-receipt>(该元素用来表示禁止接收的Principal)。其中,转发发送者和转发接收者关联的方法有两种,一种用<rule>的属性值id进行关联,如果id值相同,则证明为同一个转发操作下的转发发送者和转发接收者;另一种方法为:在<conditions>元素下定义转发发送者时,将转发接收者进行关联。
如例1:
如例2:
(2)在用户A的权限文档中为用户B设置转发权限,但并没有单独为用户B设置转发接收者,但因为在XDM中文档内容的转发都是在XDMS中进行的,所以在用户B发送转发请求时,XDMS可以到权限文档中获取该转发接收者C是否有权限访问该文档内容,即将转发接收者看作是文档的获取方;如果用户C有,则将该文档内容转发给用户C;如果没有,则XDMS向用户B返回409错误响应;如果用户A的权限文档中的转发发送者列表中不包括用户C,则XDMS执行步骤203;如果用户A的权限文档中的转发发送者列表中包括用户C,则XDMS执行步骤204;
203:XDMS向用户B返回409用户Conflict错误响应;
204:XDMS向用户B返回200OK响应,允许用户B将用户A的部分文档内容转发给用户C,并执行步骤205;
205:XDMS将用户A的文档中用户B有权限转发给用户C的内容转发到XDMS中用户C的路径下。
上述处理过程中,还可以设置用户B的访问权限内容包括转发内容以及用户C的访问权限内容,即用户B拥有文档转发权限,但可能只有文档的部分内容的转发权限,这样用户B只能转发其拥有转发权限的那部分内容。如果用户B在用户A的权限文档中拥有转发权限的文档内容与用户C在用户A的权限文档中拥有访问权限的文档内容不同,则XDMS将在用户A的权限文档中用户B既拥有转发权限且用户C拥有访问权限的文档内容发送给用户C。
本发明实施例提供的方法,通过XDMS在设置转发发送者的转发权限时同时设置其可以转发的转发接收者或者XDMS在收到转发发送者发送转发请求时先到权限文档中获取该转发接收者是否有权限访问该文档内容,解决了转发发送者根据XDMS中存储的访问权限文档中的权限设置将文档内容有选择性地转发给转发接收者,从而避免了转发发送者在拥有转发权限之后对文档的任意转发,也保证了文档创建者对文档的保密性。
实施例3
为了实现转发发送者根据XDMS中存储的访问权限文档中的权限设置将文档内容有选择性地转发给转发接收者,避免转发发送者在拥有转发权限之后对文档的任意转发,保证文档创建者对文档的保密性,本发明实施例提供了一种XDM中转发文档内容的方法,具体内容如下:
本发明实施例中以用户A为文档管理用户,用户B为转发发送者,用户C为转发接收者为例,用户B将在用户A(文档内容存储在XDMS)中有权限转发的文档内容转发给用户C(转发内容存储在XDMS),所以位于XDMC的用户B向XDMS发送请求,根据用户A权限文档中设置的转发接收者来判断是否允许用户C访问该文档,如果用户C有权限的话,服务器将该内容转发给用户C。参见图3,具体步骤如下:
301:位于XDMC的用户B向XDMS发送GET请求,请求将用户B在用户A的文档中拥有转发权限的文档内容转发给用户C;
其中,用户B向XDMS发送GET请求,这里的GET请求仅代表获取这个动作,它与修改、删除、创建是并列的操作,并不对内容进行处理过程;
其中,用户B位于XDMC,用户A的文档内容存放在XDMS中;用户A作为文档管理用户,可以是XML文档的创建者,也可以是一个被授权且可以修改文档的访问权限的特殊用户,其他用户可以根据管理者用户A设定的访问权限,访问XDMS中的整个文档或者文档的部分内容;
用户B向XDMS发送请求中,请求将用户B在用户A的文档中拥有转发权限的文档内容转发给用户C在XDMS的目录下,当用户B拥有转发整个文档内容的权限时,也可以向用户A请求将整个文档内容转发给用户C;另外,用户B也可以将用户B在用户A的文档中拥有转发权限的文档内容中的部分内容转发给用户C。
302:XDMS在接收到用户B发送的请求后,获取用户A的权限文档中对于用户B拥有的访问权限,判断用户B是否有转发权限,如果是,执行步骤303;否则,执行步骤306;
303:XDMS在用户A的权限文档中判断用户C是否在用户B的转发接收者列表中,如果是,则执行步骤304;否则,执行步骤306;
其中,本发明实施例中用户A的权限文档中如果允许某个用户拥有转发权限转发文档内容时,需设置其对应的转发接收者,建立转发接收者列表,将所有可以转发的用户都放在该列表中。
304:XDMS向用户B返回200OK响应,通知用户A允许用户B将用户B在用户A的文档中拥有权限的文档内容转发给用户C,并执行步骤305;
305:XDMS将用户B在用户A的权限文档中拥有转发权限的文档内容转发给用户C;
306:XDMS向用户B返回409用户Conflict响应,通知用户A禁止将文档内容转发给用户C。
另外,在设置用户B可以转发的转发接收者时还可以设置用户B的转发的次数对用户B进行限制;上述处理过程中,还可以设置用户B的访问权限内容包括转发内容以及用户C的访问权限内容,即用户B拥有文档转发权限,但可能只有文档的部分内容的转发权限,这样用户B只能转发其拥有转发权限的那部分内容。如果用户B在用户A的权限文档中拥有转发权限的文档内容与用户C在用户B的转发接收者列表中拥有访问权限的文档内容不同,则XDMS将在用户A的权限文档中用户B既拥有转发权限且用户C拥有访问权限的文档内容发送给用户C。
本发明实施例提供的方法,通过XDMS在设置转发发送者的转发权限时同时设置其可以转发的转发接收者,实现了转发发送者根据XDMS中存储的访问权限文档中的权限设置将文档内容有选择性地转发给转发接收者,从而避免了转发发送者在拥有转发权限之后对文档的任意转发,也保证了文档创建者对文档的保密性。
实施例4
为了实现转发发送者根据XDMS中存储的访问权限文档中的权限设置将文档内容有选择性地转发给转发接收者,避免转发发送者在拥有转发权限之后对文档的任意转发,保证文档创建者对文档的保密性,本发明实施例提供了一种XDM中转发文档内容的方法,具体内容如下:
本发明实施例中以用户A为文档管理用户,用户B为转发发送者,用户C为转发接收者为例,用户B将在用户A(文档内容存储在XDMS)中有权限转发的文档内容转发给用户C(转发内容存储在XDMS),所以位于XDMC的用户B向XDMS发送请求。在本发明实施例中用户A的权限文档中没有设置转发接收者权限,而是采用权限文档中原有的转发发送者列表来判断用户C是否有权限访问该文档,从而判断用户B能否转发给用户C,参见图4,具体步骤如下:
401:位于XDMC的用户B向XDMS发送GET请求,向用户A请求用户B是否有转发权限以及用户C是否有访问该文档内容的权限;
其中,位于XDMC用户B向XDMS发送GET请求,这里的GET请求仅代表获取这个动作,它与修改、删除、创建是并列的操作,并不对内容进行处理过程;
其中,用户A的文档内容存放在XDMS中,用户A作为文档管理用户,可以是XML文档的创建者,也可以是一个被授权且可以修改文档的访问权限的特殊用户,其他用户可以根据管理者用户A设定的访问权限,访问XDMS中的整个文档或者文档的部分内容;
用户B向XDMS发送请求中,请求将用户B在用户A的文档中拥有转发权限的文档内容转发给用户C在XDMS的目录下,当用户B拥有转发整个文档内容的权限时,也可以向用户A请求将整个文档内容转发给用户C;另外,用户B也可以将用户B在用户A的文档中拥有转发权限的文档内容中的部分内容转发给用户C。
402:XDMS接收到用户B的GET请求后,到用户A的权限转发发送者B的转发权限以及用户C的访问权限;
其中,XDMS接收到用户B发送的请求后,获取用户A的权限文档,根据用户A的权限文档判断用户B是否有转发权限,当用户B有转发权限时,由于权限文档中没有设置拥有转发权限的用户的转发接收者的权限,而对于转发接收者的权限是引用转发发送者的权限来判断可否转发给该转发接收者,即如果在权限转发发送者中包括转发接收者C的URI,则可以进行转发,但是若在权限转发发送者中不包括转发接收者C的URI,则不可以进行转发;
XDMS获取用户A的权限文档,在权限文档中判断用户B没有转发权限或者在权限转发发送者中不包括转发接收者C的URI,则向用户B返回409用户Conflict响应,通知用户A禁止将文档内容转发给用户C。
403:当XDMS判断用户B有转发的权限并且用户C也拥有访问该文档的权限,则向XDMC返回200OK响应;
其中,用户C拥有访问该文档的权限即拥有被转发的权限,XDMS向XDMC返回200OK响应,在该响应中可以包括转发的文档内容。
404:用户B向XDMS发送GET请求,请求将部分文档内容转发给用户C;
405:XDMS接收到该请求后,继续根据用户A的权限文档判断可否转发给用户C,判断结果为可以转发;
其中,XDMS接收到该请求后,继续根据用户A的权限文档判断用户C在用户A的权限文档是否拥有访问权限,即在权限转发发送者中是否包括转发接收者C的URI,判断结果为可以进行转发。
406:XDMS将用户B在用户A的文档中拥有转发权限的文档内容转发给用户C。
另外,在设置用户B的转发权限时还可以设置用户B的转发的次数对用户B进行限制。
上述处理过程中,还可以设置用户B的访问权限内容包括转发内容以及用户C的访问权限内容,即用户B拥有文档转发权限,但可能只有文档的部分内容的转发权限,这样用户B只能转发其拥有转发权限的那部分内容。如果用户B在用户A的权限文档中拥有转发权限的文档内容与用户C在位于XDMS的用户A的权限文档中拥有访问权限的文档内容不同,则XDMS将在用户A的权限文档中用户B既拥有转发权限且用户C拥有访问权限的文档内容发送给用户C。
例如:文档内容包括1、2、3三部分,而用户B在用户A的权限文档中拥有转发权限的文档内容为1、2,用户C在用户A的权限文档中拥有访问权限的文档内容为1,则XDMS在根据用户A的权限文档中判断用户B有转发权限且用户C拥有访问权限后,将文档内容1转发给用户C,虽然用户B拥有转发权限的文档内容为1、2,但由于用户C在用户A的权限文档中拥有访问权限的文档内容仅为1,所以XDMS只能将文档内容1转发给用户C;
又如:文档内容包括1、2、3三部分,而用户B在用户A的权限文档中拥有转发权限的文档内容为2,用户C在用户A的权限文档中拥有访问权限的文档内容为2、3,则XDMS在根据用户A的权限文档中判断用户B有转发权限且用户C拥有访问权限后,将文档内容2转发给用户C,虽然用户C拥有访问权限的文档内容为2、3,但由于用户B拥有转发权限的文档内容仅为2,所以XDMS只能将文档内容2转发给用户C;
再如:文档内容包括1、2、3三部分,而用户B在用户A的权限文档中拥有转发权限的文档内容为1、2、3,用户C在用户A的权限文档中拥有访问权限的文档内容为3,则XDMS在根据用户A的权限文档中判断用户B有转发权限且用户C拥有访问权限后,将文档内容3转发给用户C,虽然用户B拥有转发权限的文档内容为1、2、3,但由于用户C在用户A的权限文档中拥有访问权限的文档内容仅为3,所以XDMS只能将文档内容3转发给用户C。
本发明实施例提供的方法,通过XDMS在收到转发发送者发送转发请求时到权限文档中获取转发发送者是否拥有转发权限时同时获取该转发接收者是否有权限访问该文档内容,实现了转发发送者根据XDMS中存储的访问权限文档中的权限设置将文档内容有选择性地转发给转发接收者,从而避免了转发发送者在拥有转发权限之后对文档的任意转发,也保证了文档创建者对文档的保密性。
实施例5
为了实现转发发送者根据XDMS中存储的访问权限文档中的权限设置将文档内容有选择性地转发给转发接收者,避免转发发送者在拥有转发权限之后对文档的任意转发,保证文档创建者对文档的保密性,本发明实施例提供了一种XDM中转发文档内容的方法,具体内容如下:
本发明实施例中以用户A为文档管理用户,用户B为转发发送者,用户C为转发接收者为例,用户B将在用户A(文档内容存储在XDMS)中有权限转发的文档内容转发给用户C(转发内容为文档内容中的全部或者一部分,存储在XDMS),所以位于XDMC的用户B向XDMS发送请求。在本发明实施例中用户A的权限文档中没有设置转发接收者权限,但是在XDMS要求对于拥有转发权限的用户在要转发文档内容时,需要向文档管理用户用户A进行询问,询问转发接收者是否有接收文档内容的权限,如果有权限则发送,没有权限则向转发发送者B返回错误,禁止发送。参见图5,具体步骤如下:
501:位于XDMC的用户B向XDMS发送GET请求,向用户A询问用户B是否可以将文档内容转发给用户C;
其中,位于XDMC用户B向XDMS发送GET请求,这里的GET请求仅代表获取这个动作,它与修改、删除、创建是并列的操作,并不对内容进行处理过程;
其中,用户A的文档内容存放在XDMS中,用户A作为文档管理用户,可以是XML文档的创建者,也可以是一个被授权且可以修改文档的访问权限的特殊用户,其他用户可以根据管理者用户A设定的访问权限,访问XDMS中的整个文档或者文档的部分内容;
用户B向XDMS发送请求中,请求将用户B在用户A的文档中拥有转发权限的文档内容转发给用户C在XDMS的目录下,当用户B拥有转发整个文档内容的权限时,也可以向用户A请求将整个文档内容转发给用户C;另外,用户B也可以将用户B在用户A的文档中拥有转发权限的文档内容中的部分内容转发给用户C。
502:XDMS接收到用户B的GET请求后,到用户A的权限文档中获取用户B的转发权限;
其中,XDMS接收到用户B发送的请求后,获取用户A的权限文档,根据用户A的权限文档判断用户B是否有转发权限,当用户B有转发权限时执行步骤503;
XDMS获取用户A的权限文档,如果在权限文档中判断用户B没有转发权限,则向用户B返回409用户Conflict响应,通知用户A禁止将文档内容转发给用户C。
503:当用户B在用户A的权限文档中有转发权限时,XDMS向位于XDMC的用户A询问是否可以将用户B拥有转发权限的文档内容转发给用户C;
其中,用户A的权限文档中没有设置转发接收者权限,但是在XDMS要求对于拥有转发权限的用户在要转发文档内容时,需要向文档管理用户用户A进行询问,询问转发接收者C是否有接收文档内容的权限。
504:XDMC的用户A判断可以转发,并将结果返回给XDMS;
其中,XDMC的用户A接收到XDMC发送的询问请求时,判断是否可以将用户B在用户A的权限文档中有转发权限的文档内容转发给用户C,如果有权限则可以转发,没有权限则向转发发送者B返回错误,禁止发送。
505:XDMS向用户B返回200OK,通知B可以将用户B拥有转发权限的文档内容转发给用户C;
506:XDMS将用户B拥有转发权限的文档内容转发给用户C。
另外,在设置用户B的转发权限时还可以设置用户B的转发的次数对用户B进行限制。
上述处理过程中,还可以设置用户B的访问权限内容包括转发内容以及位于XDMC的用户A中用户C的访问权限内容,即用户B拥有文档转发权限,但可能只有文档的部分内容的转发权限,这样用户B只能转发其拥有转发权限的那部分内容。如果用户B在用户A的权限文档中拥有转发权限的文档内容与用户C在位于XDMC的用户A中的访问权限的文档内容不同,则XDMS将在位于XDMS的用户A的权限文档中用户B拥有转发权限的文档内容且用户C在位于XDMC的用户A中的访问权限的文档内容发送给用户C。
例如:文档内容包括1、2、3三部分,而用户B在用户A的权限文档中拥有转发权限的文档内容为1、2,用户C在位于XDMC的用户A中的访问权限的文档内容为1,则XDMS在根据用户A的权限文档中判断用户B有转发权限且位于XDMC的用户A判断用户C拥有访问权限后,将文档内容1转发给用户C,虽然用户B拥有转发权限的文档内容为1、2,但由于用户C在位于XDMC的用户A中的访问权限的文档内容仅为1,所以XDMS只能将文档内容1转发给用户C;
又如:文档内容包括1、2、3三部分,而用户B在用户A的权限文档中拥有转发权限的文档内容为2,用户C在位于XDMC的用户A中的访问权限的文档内容为2、3,则XDMS在根据用户A的权限文档中判断用户B有转发权限且位于XDMC的用户A判断用户C拥有访问权限后,将文档内容2转发给用户C,虽然用户C在位于XDMC的用户Δ中的访问权限的文档内容为2、3,但由于用户B拥有转发权限的文档内容仅为2,所以XDMS只能将文档内容2转发给用户C;
再如:文档内容包括1、2、3三部分,而用户B在用户A的权限文档中拥有转发权限的文档内容为1、2、3,用户C在位于XDMC的用户A中的访问权限的文档内容为3,则XDMS在根据用户A的权限文档中判断用户B有转发权限且位于XDMC的用户A判断用户C拥有访问权限后,将文档内容3转发给用户C,虽然用户B拥有转发权限的文档内容为1、2、3,但由于用户C在位于XDMC的用户A中的访问权限的文档内容仅为3,所以XDMS只能将文档内容3转发给用户C。
本发明实施例提供的方法,通过XDM服务器在收到转发发送者发送转发请求时获取转发发送者的转发权限并向文档管理者询问转发接收者是否有权限访问该文档内容,实现了转发发送者根据XDM服务器中存储的访问权限文档中的权限设置将文档内容有选择性地转发给转发接收者,从而避免了转发发送者在拥有转发权限之后对文档的任意转发,也保证了文档创建者对文档的保密性。
实施例6
为了实现转发发送者根据XDMS中存储的访问权限文档中的权限设置将文档内容有选择性地转发给转发接收者,避免转发发送者在拥有转发权限之后对文档的任意转发,保证文档创建者对文档的保密性,本发明实施例提供了一种XDM中转发文档内容的方法,具体内容如下:
本发明实施例中以用户A为文档管理用户,用户B为转发发送者,用户C为转发接收者为例,用户B将在用户A(文档内容存储在XDMS)中有权限转发的文档内容转发给用户C(转发内容存储在XDMS),所以位于XDMC的用户B向XDMS发送请求,根据A权限文档中设置的禁止接收者来判断用户C是否被禁止访问该文档内容,如果用户C被禁止,服务器将不会转发该文档内容给用户C,并且向用户B返回错误响应。该实施例中要求用户A的权限文档中如果允许某一用户转发文档内容时,需设置转发时禁止的接收者,转发次数,转发的内容。参见图6,具体步骤如下:
601:位于XDMC的用户B向XDMS发送GET请求,请求将用户B在用户A的文档中拥有转发权限的文档内容转发给用户C;
其中,用户B向XDMS发送GET请求,这里的GET请求仅代表获取这个动作,它与修改、删除、创建是并列的操作,并不对内容进行处理过程;
其中,用户B位于XDMC,用户A的文档内容存放在XDMS中;用户A作为文档管理用户,可以是XML文档的创建者,也可以是一个被授权且可以修改文档的访问权限的特殊用户,其他用户可以根据管理者用户A设定的访问权限,访问XDMS中的整个文档或者文档的部分内容;
用户B向XDMS发送请求中,请求将用户B在用户A的文档中拥有转发权限的文档内容转发给用户C在XDMS的目录下,当用户B拥有转发整个文档内容的权限时,也可以向用户A请求将整个文档内容转发给用户C;另外,用户B也可以将用户B在用户A的文档中拥有转发权限的文档内容中的部分内容转发给用户C。
602:XDMS在接收到用户B发送的请求后,获取用户A的权限文档中对于用户B拥有的访问权限,判断用户B是否有转发权限;
其中,XDMS在用户A的权限文档中判断判断用户B没有转发权限时,XDMS向用户B返回409用户Conflict响应,通知用户A禁止将文档内容转发给用户C。
603:当用户B有转发权限时,XDMS在用户A的权限文档中判断用户C是否在用户B的禁止转发接收者列表中;
其中,本发明实施例中用户A的权限文档中如果允许某个用户拥有转发权限转发文档内容时,需设置其对应的禁止转发接收者,建立禁止转发接收者列表,将所有禁止转发的用户都放在该列表中。
XDMS在用户A的权限文档中判断用户C在用户B的禁止转发接收者列表中,XDMS向用户B返回409用户Conflict响应,通知用户A禁止将文档内容转发给用户C。
604:XDMS在用户A的权限文档中判断用户C不在用户B的禁止转发接收者列表中,XDMS向用户B返回200OK响应,通知用户A允许用户B将用户B在用户A的文档中拥有权限的文档内容转发给用户C;
605:XDMS将用户B在用户A的权限文档中拥有转发权限的文档内容转发给用户C。
其中,在设置用户B禁止转发的转发接收者时还可以设置用户B的转发的次数对用户B进行限制;上述处理过程中,还可以设置用户B的访问权限内容包括转发内容即用户B拥有文档转发权限。
本发明实施例提供的方法,通过XDMS在设置转发发送者的转发权限时同时设置其禁止转发的接收者,实现了转发发送者根据XDMS中存储的访问权限文档中的权限设置将文档内容有选择性地转发给转发接收者,从而避免了转发发送者在拥有转发权限之后对文档的任意转发,也保证了文档创建者对文档的保密性。
实施例7
为了实现转发发送者根据XDMS中存储的访问权限文档中的权限设置将文档内容有选择性地转发给转发接收者,避免转发发送者在拥有转发权限之后对文档的任意转发,保证文档创建者对文档的保密性,本发明实施例提供了一种XDM中转发文档内容的方法,具体内容如下:
本发明实施例中以用户A为文档管理用户,用户B为转发发送者,用户C为转发接收者为例,用户B将在用户A(文档内容存储在XDMS)中有权限转发的文档内容转发给用户C(转发内容存储在XDMS),所以位于XDMC的用户B向XDMS发送请求,在该实施例中用户A的权限文档中既没有设置转发发送者的权限,也没有设置转发接收者权限,但是当某一用户在向XDMS发送请求,请求转发某部分文档内容时,需要向文档创建者或者文档管理者进行询问,询问转发发送者是否可以转发某部分文档内容,并且询问转发接收者是否有接收文档内容的权限,如果两者都有权限则发送,如果任意一方没有权限则像文档获取方返回错误,禁止发送。参见图7,具体步骤如下:
701:位于XDMC的用户B向XDMS发送GET请求,向用户A询问用户B是否可以将文档内容转发给用户C;
其中,位于XDMC用户B向XDMS发送GET请求,这里的GET请求仅代表获取这个动作,它与修改、删除、创建是并列的操作,并不对内容进行处理过程;
其中,用户A的文档内容存放在XDMS中,用户A作为文档管理用户,可以是XML文档的创建者,也可以是一个被授权且可以修改文档的访问权限的特殊用户,其他用户可以根据管理者用户A设定的访问权限,访问XDMS中的整个文档或者文档的部分内容;
用户B向XDMS发送请求中,请求将用户B在用户A的文档中拥有转发权限的文档内容转发给用户C在XDMS的目录下,当用户B拥有转发整个文档内容的权限时,也可以向用户A请求将整个文档内容转发给用户C;另外,用户B也可以将用户B在用户A的文档中拥有转发权限的文档内容中的部分内容转发给用户C。
702:XDMS接收到用户B的GET请求后,到用户A的权限文档中获取用户B的转发权限和用户C的接收权限,如果权限文档中既没有设置转发发送权限,也没有设置转发接收权限,则执行步骤703;
其中,XDMS接收到用户B发送的请求后,获取用户A的权限文档,判断用户A的权限文档是否有用户B的转发权限和用户C的接收权限,如果权限文档中既没有设置转发发送权限,也没有设置转发接收权限,则执行步骤703;;
703:XDMS向位于XDMC的用户A询问用户B是否有转发发送以及用户C是否有转发接收权限;
其中,用户A的权限文档中没有设置转发发送者的权限也没有设置转发接收者权限,需要XDMS向文档管理用户用户A进行询问,询问用户B是否拥有转发权限以及转发接收者C是否有接收文档内容的权限。
704:当用户A判断得出用户B可以转发,并且用户C可以接收用户B拥有转发权限的文档内容,则向XDMS返回判断结果;
其中,当用户A判断用户B不能转发,或者用户C不能接收用户B拥有转发权限的文档内容时,则也向XDMS返回判断结果,XDMS收到该判断结果后,向向用户B返回409用户Conflict响应,通知用户A禁止将文档内容转发给用户C。
705:XDMS向用户B返回200OK,即表明用户B可以将拥有转发权限的文档内容转发给用户C;
706:XDMS将用户B拥有转发权限的文档内容转发给用户C。
上述处理过程中,还可以设置用户B的访问权限内容包括转发内容即用户B拥有文档转发权限,但可能只有文档的部分内容的转发权限,这样用户B只能转发其拥有转发权限的那部分内容。
本发明实施例提供的方法,通过XDMS在收到转发发送者的转发请求后向文档管理者发送询问请求,询问转发发送者是否拥有转发权限以及转发接收者是否拥有访问权限,实现了转发发送者将文档内容有选择性地转发给转发接收者,从而避免了转发发送者在拥有转发权限之后对文档的任意转发,也保证了文档创建者对文档的保密性。
实施例8
本发明实施例提供了一种可扩展标记语言文档管理XDM服务器设备,参见图8,该设备包括:
接收模块801,用于接收转发发送者发送的转发请求,转发请求为将文档内容转发给转发接收者;
判断模块802,用于根据权限文档,判断转发发送者是否拥有文档内容的转发权限以及转发接收者是否拥有文档内容的访问权限;
转发模块803,用于当转发发送者拥有转发权限且转发接收者拥有访问权限时,将文档内容转发给转发接收者。
其中,所述设备至少还包括以下任一种模块:
第一设置模块,用于在权限文档中设置转发发送者转发权限,并为转发发送者设置转发接收者列表。
第二设置模块,用于在权限文档中设置转发发送者转发权限,并在权限文档中设置转发接收者访问权限;
第三设置模块,用于在权限文档中设置转发发送者转发权限;
第四设置模块,用于在权限文档中设置转发发送者的转发权限,并设置转发发送者的禁止转发接收者列表。
进一步地,若设备包括第一设置模块,则第一设置模块还包括:
第一设置单元,用于设置转发发送者拥有转发权限的文档内容以及设置转发接收者接收文档内容,接收文档内容为转发发送者拥有转发权限的部分文档内容或整个文档内容;转发模块803将接收文档内容转发给转发接收者。
相应地,判断模块802具体包括:
第一判断转发单元,用于从权限文档中获取转发发送者对文档内容的访问权限,判断转发发送者是否拥有对文档内容的转发权限;
第一判断访问单元,用于当转发发送者拥有转发权限时,判断转发接收者是否在转发发送者的转发接收者列表中,如果是,则转发接收者拥有文档内容的访问权限。
若设备包括第二设置模块,则第二设置模块还包括:
第二设置单元,用于设置转发发送者拥有转发权限的文档内容以及设置转发接收者拥有访问权限的文档内容;转发模块803将转发发送者拥有转发权限且转发接收者拥有访问权限的文档内容转发给转发接收者。
相应地,判断模块802,具体包括:
第二转发判断单元,用于从权限文档中获取转发发送者对文档内容的访问权限,并判断转发发送者是否拥有对文档内容的转发权限;
第二访问判断单元,用于当转发发送者拥有转发权限时,判断在权限文档中是否设置转发接收者的访问权限,如果是,转发接收者拥有文档内容的访问权限。
若设备包括第三设置模块,则第三设置模块还包括:
第三设置单元,用于设置转发发送者拥有转发权限的文档内容。转发模块803将转发发送者拥有转发权限的文档内容转发给转发接收者。
相应地,判断模块802,具体包括:
第三转发判断单元,用于从权限文档中获取转发发送者对文档内容的访问权限,并判断转发发送者是否拥有对文档内容的转发权限;
第三访问判断单元,用于当转发发送者拥有转发权限时,向文档管理用户的XDM客户端发送询问请求,询问转发接收者是否拥有文档内容的访问权限;接收文档管理用户的XDM客户端返回的询问结果,当询问结果为是时,转发接收者拥有文档内容的访问权限。
若设备包括第四设置模块,则第四设置模块还包括:
第四设置单元,用于设置转发发送者拥有转发权限的文档内容。转发模块803将转发发送者拥有转发权限的文档内容转发给转发接收者。
其中,判断模块802,还包括:
判断单元,用于收到接收模块801发送的转发请求后,在所述权限文档中获取所述转发发送者的转发权限,如果所述权限文档中没有所述转发发送者的转发权限,向文档管理用户的XDM客户端发送询问请求,询问转发发送者是否拥有文档内容的转发权限以及转发接收者是否拥有文档内容的访问权限;接收文档管理用户的XDM客户端返回的询问结果;
相应地,转发模块803,还包括:
转发单元,用于当判断单元返回的询问结果为转发发送者拥有文档内容的转发权限且转发接收者拥有文档内容的访问权限时,所述转发发送者将拥有转发权限的文档内容转发给所述转发接收者。
本发明实施例提供的设备,通过XDM服务器在设置转发发送者的转发权限时同时设置转发接收者或者XDM服务器在收到转发发送者发送转发请求时向文档管理用户询问转发发送者的转发权限以及转发接收者的访问权限,实现了转发发送者将文档内容有选择性地转发给转发接收者,从而避免了转发发送者在拥有转发权限之后对文档的任意转发,也保证了文档创建者对文档的保密性。
实施例9
本发明实施例提供了一种可扩展标记语言文档管理XDM中转发文档内容的系统,参见图7,该系统包括:XDM服务器901和XDM客户端902,其中,
XDM服务器901,用于接收转发发送者发送的转发请求,转发请求为将文档内容转发给转发接收者;根据权限文档,判断转发发送者是否拥有文档内容的转发权限以及转发接收者是否拥有文档内容的访问权限;当转发发送者拥有转发权限且转发接收者拥有访问权限时,将文档内容转发给转发接收者;
XDM客户端902,用于向XDM服务器901发送转发请求,转发请求为将文档内容转发给转发接收者。
其中,XDM服务器901,还用于在权限文档中为转发发送者设置转发权限,并为转发发送者设置转发接收者列表,转发接收者列表中包括所有能够接收转发发送者转发的文档内容的用户。
进一步地,XDM服务器901具体用于:
从权限文档中获取转发发送者对文档内容的访问权限,判断转发发送者是否拥有对文档内容的转发权限;
当转发发送者拥有转发权限时,判断转发接收者是否在转发发送者的转发接收者列表中,如果是,则转发接收者拥有文档内容的访问权限。
进一步地,XDM服务器901,还用于为转发发送者设置拥有转发权限的文档内容以及为转发接收者设置接收文档内容,接收文档内容为转发发送者拥有转发权限的部分或整个文档内容。
进一步地,XDM服务器901用于将接收文档内容转发给转发接收者。
其中,XDM服务器901还用于在权限文档中为转发发送者设置转发权限,并在权限文档中为转发接收者设置访问权限。
进一步地,XDM服务器901具体用于:
从权限文档中获取转发发送者对文档内容的访问权限,并判断转发发送者是否拥有对文档内容的转发权限;
当转发发送者拥有转发权限时,判断在权限文档中是否设置转发接收者的访问权限,如果是,转发接收者拥有文档内容的访问权限。
进一步地,XDM服务器901还用于为转发发送者设置拥有转发权限的文档内容以及为转发接收者设置拥有访问权限的文档内容。
进一步地,XDM服务器901用于将转发发送者拥有转发权限且转发接收者拥有访问权限的文档内容转发给转发接收者。
其中,XDM服务器901还用于在权限文档中为转发发送者设置转发权限。
进一步地,XDM服务器901具体用于:
从权限文档中获取转发发送者对文档内容的访问权限,并判断转发发送者是否拥有对文档内容的转发权限;
当转发发送者拥有转发权限时,向文档管理用户的XDM客户端902发送询问请求,询问转发接收者是否拥有文档内容的访问权限;
接收文档管理用户的XDM客户端902返回的询问结果,当询问结果为是时,转发接收者拥有文档内容的访问权限。
进一步地,XDM服务器901还用于为转发发送者设置拥有转发权限的文档内容。
进一步地,XDM服务器901用于将转发发送者拥有转发权限的文档内容转发给转发接收者。
其中,XDM服务器901还用于在权限文档中设置转发发送者的转发权限,并设置转发发送者的禁止转发接收者列表;
进一步地,XDM服务器901还用于设置转发发送者拥有转发权限的文档内容,将转发发送者拥有转发权限的文档内容转发给转发接收者。
其中,XDM服务器901还用于接收到接收模块发送的转发请求后,向文档管理用户的XDM客户端发送询问请求,询问转发发送者是否拥有文档内容的转发权限以及转发接收者是否拥有文档内容的访问权限;接收文档管理用户的XDM客户端返回的询问结果;当判断单元返回的询问结果为转发发送者拥有文档内容的转发权限且转发接收者拥有文档内容的访问权限时,所述转发发送者将拥有转发权限的文档内容转发给所述转发接收者。
本发明实施例提供的系统,通过XDM服务器在设置转发发送者的转发权限时同时设置转发接收者或者XDM服务器在收到转发发送者发送转发请求时获取该转发接收者是否有权限访问该文档内容,实现了转发发送者根据XDM服务器中存储的访问权限文档中的权限设置将文档内容有选择性地转发给转发接收者,从而避免了转发发送者在拥有转发权限之后对文档的任意转发,也保证了文档创建者对文档的保密性。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:只读存储器(ROM)、随机存取器(RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。