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 =  '*'; %%