访问控制¶
在 3.0 版更改: 在 Weblate 3.0 之前,特权系统基于 Django,但现在是专门为 Weblate 构建的。如果使用的是更旧的版本,那么请查阅所使用的特定版本的文档。
Weblate 带有细粒度的特权系统,可以为整个实例或在有限范围内分配用户权限。
权限系统基于组和角色,其中角色定义了一组权限,组将它们分配给用户和翻译,请参阅 用户,角色,用户组和权限 以获取更多详细信息。
安装后,将创建一组默认的组,可以使用这些组为整个实例分配用户角色(请参阅 默认群组和角色 )。此外,启用 项目访问控制 后,可以将用户分配给特定的翻译项目。使用 客户访问控制 可以实现更细粒度的配置。
通用设置¶
锁定 Weblate¶
为了完全锁定 Weblate,你可以使用 REQUIRE_LOGIN
强制用户登录并用 REGISTRATION_OPEN
来防止新注册。
全网站范围的权限¶
为了管理整个事例的权限,只通过将用户添加到 Users (这通常使用 自动分配组 默认实现)、 Reviewers 和 Managers 群组中即可。将所有的项目保持为 Public (请参考 项目访问控制 )。
自定义语言、组件或项目权限¶
注解
此功能对于运行 Weblate 上托管的自由软件计划的项目不可用。
成员将被分配给其所在组的任何权限,因此可以一次为用户分配多个权限。 创建组并将其附加到项目、组件或语言上。 用户可以分为多个组,权限之间可以重叠。
根据项目、组件或语言授予任何选择的权限。为了实现这一目的,对给定的资源建立新的群组(例如“捷克语译者”)并配置。对于所选的资源,任何指定的权限可以授予群组内的成员。
如果使用每个项目的权限的话,那么无需另外设置即可正常工作。对于整个事例的权限,你可能还想从 Users 群组中去掉这些权限,或者更改将所有用户自动指定给哪个群组 (请参考 自动分配组 )。
参见
项目访问控制¶
注解
通过打开访问控制 ,所有用户均被禁止访问给定项目的任何内容,除非你授权给他们。
注解
此功能对于运行 Weblate 上托管的自由软件计划的项目不可用。
通过在每个相应项目 Settings`的 :guilabel:`Access`标签页上选择不同的访问控制变量来限制用户对单独项目的访问。这将自动为有问题的项目创建几个组,见 :ref:`groups。
Access control 可以设置为:
- 公开的
公开可见,且所有登录用户均可进行翻译
- 受保护的
公开可见,但只允许被选择的用户翻译
- 私有的
公开可见,但只允许被选择的用户翻译
- 自定义
Django 管理员管理用户而非 Weblate,请参考 客户访问控制 。
授予对一个项目的访问权有下列两种方法。要么在 Django admin-interface 中,直接给用户或用户组添加特权,要么按照 管理每个项目的访问控制 中所描述的使用项目页面上的用户管理。
注解
即使打开了访问控制 ,也可以看到项目的一些信息:
整个事例的统计数据,包括所有项目计数。
整个事例的语言概要,包括所有项目的计数。
自动分配组¶
From the Authentication in the Django admin interface, users can be assigned to groups [you want this for] automatically based on their e-mail addresses. This only happens upon account creation.
注解
在迁移期间,总是会重新创建对 用户`和`查看者 的自动组分配。如果要关闭,请将正则表达式设置为 ^$
(永不匹配)。
用户,角色,用户组和权限¶
身份验证模型包括几个对象:
- 权限
Weblate 定义的个人权限。权限不能分配给用户。这只能通过分配角色来完成。
- Role
角色定义为一组权限。这允许在几个地方重复使用这些组,使管理更容易。
- User
用户可归属于几个用户组。
- 群组
用户组与角色、用户和身份验证对象(项目、语言和组件列表)联系。
权限检查¶
任何时候检查权限来决定是否执行给定的动作时,根据范围来执行检查,并且下列检查是按照这个顺序执行的:
群组 Component list 与访问的组件或项目匹配(对于项目级别的访问)。
群组 Components 与访问的组件或项目匹配(对于项目级别的访问)。
群组 Projects 与访问的项目匹配。
因此,授予对组件的访问权也使用户能够访问组件所在的项目。
注解
只使用第一条规则。所以如果设置所有的 Component list 、 Components 和 Project ,只会应用 Component list 。
如果检查翻译许可,则会执行另外的步骤:
群组 Languages 与访问过的翻译进行匹配,它会被组件或项目级别的访问忽略。
提示
使用 Language selection 或 Project selection 来自动包括所有语言或项目。
管理用户和群组¶
可使用 Django 管理界面管理所有用户和他们所在的各种组,你可以通过附加 /admin/
到 Weblate 站点 URL来访问它们。
管理每个项目的访问控制¶
注解
这个特性只对使用访问控制的项目起作用,见 项目访问控制 。
具有 Manage project access 特权的用户(请参见 访问控制 )还可以通过项目页面上的打开访问控制来管理用户。这个界面允许你:
将现有用户添加到项目中
邀请新用户参加到项目中
更改用户权限
撤销用户访问
3.11 新版功能.
重新发送用户电子邮件邀请 (使任何之前发送的邀请无效)
可在任意项目的 Manage 菜单中看到用户管理:
参见
预定义的群组¶
Weblate 的项目带有预定义的群组,可以为之指定用户。
-
Translate
可以翻译项目,并将离线的翻译上传。
-
Sources
可以在:ref: ‘ monollingual ‘和源字符串信息中编辑源字符串。
-
Languages
可以管理翻译语言(添加或删除翻译)。
-
Glossary
可以管理词汇表(添加或删除权限,或上传)。
-
Memory
可以管理翻译记忆库。
-
Screenshots
可以管理截屏(添加或删除截屏,并将其与源字符串关联)。
-
Review
可以在复查时批准翻译。
-
VCS
可以管理版本控制系统(VCS)并访问导出的仓库。
-
Administration
在项目中可以有所有的权限。
-
Billing
可以访问账单信息(请参见 账单 )。
客户访问控制¶
To gain more access control adjustments in a project, you can set Access control to Custom to switch over to using the Django admin-interface instead of the one in Weblate.
If you want to do this by default for all current and new projects, configure the
DEFAULT_ACCESS_CONTROL
to administrate all permissions and relations using
the Django admin interface.
警告
通过将其打开, Weblate 会删除所有为这个项目建立的 项目访问控制 。如果没有事件的管理权限却去做的话,会立即丢失管理项目的访问权限。
默认群组和角色¶
这些角色和组是在安装时创建的。在升级时,内置角色总是通过数据库迁移保持最新。自定义更改不会丢失。如果要定义自己的权限集,请定义新角色。
特权列表¶
- 账单(请参见 账单 )
查看账单信息[Administration, Billing]
- 修改
下载更改[Administration]
- 注释
发表注释[Administration, Edit source, Power user, Review strings, Translate]
删除注释[Administration]
- 组件
编辑组件设置[Administration]
锁定组件,防止翻译 [Administration]
- 词汇表
添加词汇表入口[Administration, Manage glossary, Power user]
编辑词汇表入口[Administration, Manage glossary, Power user]
删除词汇表入口[Administration, Manage glossary, Power user]
上传词汇表入口[Administration, Manage glossary, Power user]
- 自动建议
使用自动建议 [Administration, Edit source, Power user, Review strings, Translate]
- 翻译记忆库
编辑翻译记忆库 [Administration, Manage languages]
删除翻译记忆库 [Administration, Manage languages]
- 项目
编辑项目设置[Administration]
更改项目访问权限[Administration]
- 报告
下载报告[Administration]
- 截图
添加截屏[Administration, Manage screenshots]
编辑截屏[Administration, Manage screenshots]
删除截屏[Administration, Manage screenshots]
- 源字符串
编辑附加的字符串信息 [Administration, Edit source]
- 字符串
添加新字符串 [Administration]
移除一条字符串 [Administration]
忽略失败的检查 [Administration, Edit source, Power user, Review strings, Translate]
编辑字符串 [Administration, Edit source, Power user, Review strings, Translate]
复查字符串[Administration, Review strings]
当建议被强制执行时编辑字符串 [Administration, Review strings]
编辑源字符串[Administration, Edit source, Power user]
- 建议
接受建议 [Administration, Edit source, Power user, Review strings, Translate]
添加建议 [Administration, Edit source, Add suggestion, Power user, Review strings, Translate]
删除建议 [Administration, Power user]
为建议投票 [Administration, Edit source, Power user, Review strings, Translate]
- 翻译
添加翻译语言 [Administration, Power user, Manage languages]
执行自动翻译[Administration, Manage languages]
删除现有翻译 [Administration, Manage languages]
添加几种语言进行翻译 [Administration, Manage languages]
- 上传
定义所上传翻译的作者 [Administration]
使用上传的内容覆盖现有的字符串[Administration, Edit source, Power user, Review strings, Translate]
上传翻译 [Administration, Edit source, Power user, Review strings, Translate]
- 版本控制系统(VCS )
访问内部仓库 [Administration, Access repository, Power user, Manage repository]
将更改提交到内部代码库[Administration, Manage repository]
从内部存储库推送更改 [Administration, Manage repository]
重置内部代码库的更改 [Administration, Manage repository]
查看上游仓库位置 [Administration, Access repository, Power user, Manage repository]
更新内部代码库[Administration, Manage repository]
- 全网站范围的特权
使用管理界面
添加新项目
添加语言定义
管理语言定义
管理群组
管理用户
管理角色
管理公告
管理翻译记忆库
管理组件列表
注解
站点范围的特权不会被授予任何默认角色。它们功能强大,非常接近超级用户的地位。它们中的大多数都会影响到你的 Weblate 安装中的所有项目。
群组列表¶
下面的群组在安装时建立(或在执行 setupgroups
后), 您可以自由修改它们。但是,如果它们被删除或重命名,迁移后将重新创建这些名称。
- 访客
定义非授权用户的权限。
这个群组只包括匿名用户(请参见
ANONYMOUS_USER_NAME
)。你可以从群组中去掉角色,来限制非授权用户的权限。
默认角色: Add suggestion, Access repository
- Viewers
这一角色确保公开项目对所有用户可见。所有用户默认是这个群组的成员。
By default 自动分配组 makes all new accounts members of this group when they join.
默认角色:无
- 用户
所有用户的默认群组。
By default 自动分配组 makes all new accounts members of this group when they join.
默认角色: Power user
- 校对
复核员的群组(参见 翻译工作流 )。
默认角色: Review strings
- 管理人员
管理员的群组。
默认角色: Administration
警告
决不要移除预先定义的 Weblate 群组和用户,因为这会这可能会导致意想不到的问题。如果你不需要他们,你可以删除他们的所有特权。