一个inote可以定… >>
<< 权限管理设计
ancestor的权限可…

Author Zhou Renjian Create@ 2004-05-02 18:08
whizz Note icon

ancestor的权限可以管核其所有或部分层次descendant的权限的能力,可以设置层次:
0:只针对自身;1:包括下一层;-1:包括所有

管核自身有几种方式,譬如有max方式,或min方式

max方式是指当一个inote有好几个ancestor时,采用ancestors的最大(或最松)权限,即是or运算;而min方式则是采用最小最窄的权限,即and运算。

查询一个inote的权限,是采用反向查询,即查ancestor和自身的权限作比较,如果自身权限为null时,采用ancestors的权限,如果自身权限不为null时,可以采用and或者or运算(应该大多数为and运算)。

一般来说catalog的层次尽量控制在10层以下!

如何加入user的控制呢?user只有明确地设置了一个inote的权限,这个inote的权限才会生效,也就是说user对public的权限为null时,public无法访问。而设置了inote的user权限后,其权限将会确定记录下来,如果对这个inote的ancestor进行权限的重新设置,如果有对Descendant进行管核的权力的话,将重新计算该inote的权限,记录下来,而对其它user的权限为null的inote,则不作重新计算,依然保持null值。

保留group的权限设置位。

主要的权限是针对user向public开发的情况的。

对于一个inote,记录它的有效ancestor的层次,也就是究竟最近的一个ancestor是属于哪一层:
-1:没有;0:自身;1:就是ancestor的其中一个;2:……

本记录所在类别:
本记录相关记录: