View source for 权利和权限
其他语言((../Deutsch/Zugriffssteuerung Deutsch)),((../English/AccessControl English)),((../Español/ControlAcceso Español)),((../Français/GestionDesDroits Française)),((../Русский/ПраваДоступа Русский)),((../Polski/PrawaDostępu Polski))。
<[可能有一些翻译错误,欢迎编辑。]>
{{toc numerate=1}}
===访问权限===
每个页面都有五个访问控制列表(ACL):##read##、##write##、##comment##、##create## 和 ##upload##,页面所有者(通常是创建页面的用户)可以修改这些列表。##read## 定义了允许谁查看页面,##write## 定义了允许谁编辑页面,而 ##comment## 则定义了允许谁附加评论。
所有 ACL 都是纯文本列表,包含若干用户名或代表 "所有人 "的 ##*## 占位符。条目可以通过附加感叹号来反转。例如,##*## 表示 "所有人都有访问权限",而 ##!*### 表示 "任何人都没有访问权限"。当然,感叹号修饰符也适用于用户名。
空列表表示 "没有人有权限"。例如,如果 ##write## ACL 只包含一行 ##""SomeGuy""##,则只有""SomeGuy""用户有访问权限,其他人都没有。如果包含一行 ##*## 和另一行 ##""!SomeGuy""##,则表示每个人都有访问权限 //except// ""SomeGuy""。
网站上的每个页面都可以使用 ##read##、##write##、##comment##、##create## 和 ##upload## ACL;自定义页面处理程序可以根据需要引入额外的 ACL。
在 WackoWiki 中,你可以编辑每个页面的 ACL。
一个 ACL 包含以下权限
ACL由以下权限组成。
* 浏览权限
* 编辑权限
* 评论权限
* 创建
* 上传
每个权限的值为:
* ##*##-每个人都可以。
* ##$##-仅限注册用户。
* ##!##-前面的感叹号否定了相应的权利。
* ##[用户名]##-允许用户的名称。
* ##[组名]##-允许的用户组的名称(别名)。
* ##(空列表)##-只有页面所有者有权访问。
file:/permissions_handler_zh.png
===继承===
访问权限是继承的。
换句话说,如果您在现有页面(即子页面)下创建一个新页面,则此新页面将拥有与其父文档相同的访问权限。
在创建页面时会发生继承,因此可以更改子文档或父文档的权限,而不会对彼此造成损害。
继承规则的一个例外是编辑文档的权利,这是在创建子页面时从ACL继承的。
也就是说,举例来说,如果你在下面创建的子页面只能是鲍里斯和安娜,那么,通过创建子页面,只有他们才能编辑它。
===用户组===
组可以通过((/Doc/简体中文/管理面板 管理面板))进行管理。
file:/ap_groups_zh.png
WackoWiki支持用户组(别名)。
只有站点管理员才能创建和编辑别名。
别名的名称不区分大小写。
别名**admins**很特别。
它的所有成员都是管理员,例如,可以删除或重命名任何页面。
===默认设置===
安装后,每个操作的缺省值都按照config_default.php中的定义进行设置。
要更改默认 ACL 设置,请进入管理面板中的设置 -> 权限。
file:/ap_permissions_zh.png
默认存储在##((配置二次配置))##中:
1. ##default_read_acl##
1. ##default_write_acl##
1. ##default_comment_acl##
1. ##default_create_acl##
1. ##default_upload_acl##
例如:如果您希望只有注册用户才能编辑页面,请将缺省值更改为:
%%
'default_read_acl' => '*',
'default_write_acl' => '$',
'default_comment_acl' => '$',
'default_create_acl' => '$',
'default_upload_acl' => 'Admins',
%%
‘’注意:更改默认设置只会影响新创建的页面!‘’
??在更改默认设置之前创建的页面将保留其原始ACL!。??
如果您想要更改所有ACL,您可以使用一个简单的SQL查询来完成:
%%(sql)UPDATE wacko_acl SET list = '$' WHERE privilege = 'write';%%
如果某些ACL已设置为特定用户,则最好只更新当前将写入权限设置为“Allow All”的那些页面。
%%(sql) UPDATE wacko_acl SET list = '$' WHERE privilege = 'write' AND list = '*'; %%