Plone中系统角色和本地角色剖析
本来是要发到CZUG.org中的Blog中去,通过邮件发过去,CZUG半天没反映,先贴在这里。
本来是要发到CZUG.org中的Blog中去,通过邮件发过去,CZUG半天没反映,先贴在这里。
Plone中有这样三个概念:
系统角色
系统存在的角色。比如 admin,以及 Administrators 组
继承的角色
从上一级目录中所继承过来的角色。比如 user1,它是文件夹A设置的共享管理员,在文件a中用户user1 默认继承了管理员角色
本地角色
当前内容本身所拥有的角色。比如,某文件/文件夹的创建者,他拥有此文件/文件夹的所有者角色,而这个所有者就是此文件/文件夹的本地角色。
为什么说admin和Administrators是系统角色呢,还有其它的吗?
admin 是Zope的管理员,这个用户说是系统用户肯定是无庸致疑的。那么Administrators组呢?为什么不说另外两个组Reviewer和 Members是系统角色呢?这个是Plone默认程序写死了的。从ZMI中的根目录(Plone站点)的Security中我们可以得到验证。我们知道 在这里可看到内容的权限(太复杂了),同时在这个页面的下方可以定义新的角色,也可以删除定义的角色。定义的角色其实是本地角色,所以你会在根目录中定义 的某个角色,他会继承到站点的每一个角落,而同时,你在第二级目录中定义的角色,你在第一级目录中便看不到这个角色。那么。。。可能你刚才已经看到了,在 根目录的Security页面的最下方,默认的Plone是可以删除Reviewer和Members组,这已经说明了他们其实是Plone站点根目录位 置的本地角色。而在这里你同时也看不到可以删除Administrators组。
用Plone的朋友应该都清楚,一般设置站点管理员,有两种方式,在网站设置中将某一用户添加到Administrators组,和在根目录中设 置共享内容,将某一用户设置为当前共享的管理员权限。其实这两种方式有很大的区别。你现在可能已经知道了,设置到Adminstrators组的用户成为 了系统角色,而设置到根目录中的共享管理员权限的用户是站点根目录的本地角色。
那这系统角色和本地角色的两种用户还有什么其它的区别吗?
有的,其实道理很简单,系统角色是控制不了的,他的权力太大了。而本地角色是可以控制的。下面举一个非常明显的例子。
我们知道Plone中可以对内容设置保密,而同时又知道设置保密对管理员是不起作用的,管理员依然可以看到保密的内容。其实也并非这样,你还可以再设置一层。在内容共享标签中可以设置
*去掉上级文件夹继承的角色* ,那我们就去掉它的上级继承过来的角色。设置后,会看到共享标签页中的内容的当前共享的权限中,从上级继承权限的角色用户/组都变成灰色的了(这里没有贴 图,可以自行操作一下)。这一步其实是去掉了本地角色相关的权限。好了,在这里我们就来证明一下系统角色和本地角色的区别。分别用一个系统角色的管理员和 一个本地角色的管理员登录站点,看看能不能显示出刚设置保密后同时又设置去掉继承角色的内容
。是的,实事已经证明出来了,本地角色的管理员没有权限访问设置后的内容,而系统角色的管理员是可以访问的,同时对此内容有管理员权限。
好了,上面的例子应该可以足够说明系统角色和本地角色的不同。那么,看到这个例子后,你平时设置站点的管理员是否要考虑一下用哪种方式啰。
系统角色
系统存在的角色。比如 admin,以及 Administrators 组
继承的角色
从上一级目录中所继承过来的角色。比如 user1,它是文件夹A设置的共享管理员,在文件a中用户user1 默认继承了管理员角色
本地角色
当前内容本身所拥有的角色。比如,某文件/文件夹的创建者,他拥有此文件/文件夹的所有者角色,而这个所有者就是此文件/文件夹的本地角色。
为什么说admin和Administrators是系统角色呢,还有其它的吗?
admin 是Zope的管理员,这个用户说是系统用户肯定是无庸致疑的。那么Administrators组呢?为什么不说另外两个组Reviewer和 Members是系统角色呢?这个是Plone默认程序写死了的。从ZMI中的根目录(Plone站点)的Security中我们可以得到验证。我们知道 在这里可看到内容的权限(太复杂了),同时在这个页面的下方可以定义新的角色,也可以删除定义的角色。定义的角色其实是本地角色,所以你会在根目录中定义 的某个角色,他会继承到站点的每一个角落,而同时,你在第二级目录中定义的角色,你在第一级目录中便看不到这个角色。那么。。。可能你刚才已经看到了,在 根目录的Security页面的最下方,默认的Plone是可以删除Reviewer和Members组,这已经说明了他们其实是Plone站点根目录位 置的本地角色。而在这里你同时也看不到可以删除Administrators组。
用Plone的朋友应该都清楚,一般设置站点管理员,有两种方式,在网站设置中将某一用户添加到Administrators组,和在根目录中设 置共享内容,将某一用户设置为当前共享的管理员权限。其实这两种方式有很大的区别。你现在可能已经知道了,设置到Adminstrators组的用户成为 了系统角色,而设置到根目录中的共享管理员权限的用户是站点根目录的本地角色。
那这系统角色和本地角色的两种用户还有什么其它的区别吗?
有的,其实道理很简单,系统角色是控制不了的,他的权力太大了。而本地角色是可以控制的。下面举一个非常明显的例子。
我们知道Plone中可以对内容设置保密,而同时又知道设置保密对管理员是不起作用的,管理员依然可以看到保密的内容。其实也并非这样,你还可以再设置一层。在内容共享标签中可以设置
*去掉上级文件夹继承的角色* ,那我们就去掉它的上级继承过来的角色。设置后,会看到共享标签页中的内容的当前共享的权限中,从上级继承权限的角色用户/组都变成灰色的了(这里没有贴 图,可以自行操作一下)。这一步其实是去掉了本地角色相关的权限。好了,在这里我们就来证明一下系统角色和本地角色的区别。分别用一个系统角色的管理员和 一个本地角色的管理员登录站点,看看能不能显示出刚设置保密后同时又设置去掉继承角色的内容
。是的,实事已经证明出来了,本地角色的管理员没有权限访问设置后的内容,而系统角色的管理员是可以访问的,同时对此内容有管理员权限。
好了,上面的例子应该可以足够说明系统角色和本地角色的不同。那么,看到这个例子后,你平时设置站点的管理员是否要考虑一下用哪种方式啰。