访问控制¶
在 3.0 版更改: 在 Weblate 3.0 之前,特权系统基于 Django,但现在是专门为 Weblate 构建的。如果使用的是旧版本,请查阅该版本的文档,此处的信息将不适用。
Weblate 带有细粒度的特权系统,可以为整个实例或在有限范围内分配用户权限。
基于组和角色的权限系统,其中角色定义了一组权限,组将它们分配给用户和翻译,请参阅 用户,角色,用户组和权限 以获取更多详细信息。
安装后,将创建一组默认的组,可以使用这些组为整个实例分配用户角色(请参阅 默认群组和角色 )。此外,启用 项目访问控制 后,可以将用户分配给特定的翻译项目。使用 客户访问控制 可以实现更细粒度的配置。
通用设置¶
锁定 Weblate¶
为了完全锁定 Weblate,你可以使用 REQUIRE_LOGIN
强制用户登录并用 REGISTRATION_OPEN
来防止新注册。
项目访问控制¶
注解
通过允许 ACL ,所有用户禁止访问给定项目的任何内容,除非可以将权限授予他们去做。
注解
此功能对于运行托管自由软件计划的项目不可用。
可以限制用户访问独立的项目。这个特性通过每个单独项目的配置中 Access control 来打开。这会为这个项目自动建立几个群组,请参考 预定义的群组。
后面的选择是为了 Access control :
- 公开的
公开可见、可翻译
- 受保护的
公开可见,但只允许被选择的用户翻译
- 私有的
公开可见,但只允许被选择的用户翻译
- 自定义
Weblate 不允许管理用户,请参考 客户访问控制 。
为了允许访问这个项目,必须将权限直接添加给特定用户,或在 Django 管理界面上添加给用户所在的群组,或者使用项目页面上的用户管理,如下面的描述 管理每个项目的访问控制 。
注解
即使打开 ACL ,也可以看到项目的一些概要信息:
整个事例的统计数据,包括所有项目计数。
整个事例的语言概要,包括所有项目的计数。
自动分配组¶
可以新建 Weblate 根据用户的邮件地址自动将用户添加到用户组中。只有在建立账户时这一自动指定才进行。
可以对每个用户组在 Django 管理界面中新建(在 Authentication 部分)。
注解
对于 Users 和 Viewers 用户组的自动用户组指定,总是通过 Weblate 在合并时建立,在想将其关闭的时候,简单地设置正则表达式为 ^$
即可,因为永远不匹配。
用户,角色,用户组和权限¶
身份验证模型包括几个对象:
- 权限
Weblate 定义的各自权限。可以不指定各自权限,这可以只通过角色指定实现。
- Role
角色定义为一组权限。这能够在几个地方重复使用这些组,并使管理更容易。
- User
用户可以使几个用户组的成员。
- 群组
用户组与角色、用户和身份验证对象(项目、语言和组件列表)联系。
权限检查¶
任何时候检查权限来决定是否执行给定的动作时,根据范围来执行检查,并且后面的检查依次执行:
群组 Component list 与访问的组件或项目匹配(对于项目级的访问)。
群组 Component 与访问的组件或项目匹配(对于项目级的访问)。
群组 Projects 与访问的项目匹配。
可以看到,为组件授予访问权限同样也会自动地授予用户所包括项目的访问权限。
注解
只使用第一条规则。所以如果设置所有的 Component list 、 Components 和 Project ,只会应用 Component list 。
如果检查翻译许可,则会执行另外的步骤:
群组 Languages 与访问过的翻译进行匹配,它会被组件或项目级别的访问忽略。
提示
可以使用 Language selection 或 Project selection 来自动包括所有语言或项目。
管理用户和群组¶
可以使用 /admin/
URL 下面的 Django 管理界面,来管理所有用户和用户组。
管理每个项目的访问控制¶
注解
这个特性只对 ACL 控制的项目起作用,请参见 项目访问控制 。
具有 Manage project access 特权的用户(请参见 访问控制 )还可以通过项目页面上的打开访问控制来管理用户。这个界面允许你:
将现有用户添加到项目中
邀请新用户参加到项目中
更改用户的权限
取消用户的权限
3.11 新版功能.
重新发送用户电子邮件邀请,使任何之前发送的要求无效
可以在项目菜单的 Manage 进行用户管理:
参见
预定义的群组¶
Weblate 的项目带有预定义的群组,可以为之指定用户。
-
Administration
在项目中可以有所有的权限。
-
Glossary
可以管理词汇表(添加或删除权限,或上传)。
-
Languages
可以管理翻译语言(添加或删除翻译)。
-
Screenshots
可以管理截屏(添加或删除截屏,并将其与源字符串关联)。
-
Sources
可以在:ref: ‘ monollingual ‘和源字符串信息中编辑源字符串。
-
Translate
可以翻译项目,并将离线的翻译上传。
-
VCS
可以管理版本控制系统(VCS)并访问导出的仓库。
-
Review
可以在复查时批准翻译。
-
Billing
可以访问账单信息(请参见 账单 )。
客户访问控制¶
通过选择 Custom 作为 Access control , Weblate 会对停止管理给定项目的访问权限,使用 Django 管理界面可以管理所有用户和群组。这可以用于确定更富在的访问控制,或在单一的 Weblate 界面中对所有项目新建可分享的访问策略。如果想要对所有项目默认打开这个功能,请配置 DEFAULT_ACCESS_CONTROL
。
警告
通过将其打开, 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, Power user]
- 项目
编辑项目设置[Administration]
更改项目访问权限[Administration]
- 报告
下载报告[Administration]
- 截图
添加截屏[Administration, Manage screenshots]
编辑截屏[Administration, Manage screenshots]
删除截屏[Administration, Manage screenshots]
- 源字符串
编辑源字符串信息[Administration, Edit source]
- 字符串
添加新字符串 [管理组]
忽略失败的复查[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]
添加建议[Add suggestion, Administration, Edit source, Power user, Review strings, Translate]
删除建议 [Administration]
为建议投票[Administration, Edit source, Power user, Review strings, Translate]
- 翻译
新建翻译[Administration, Manage languages, Power user]
执行自动翻译[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 )
访问内部仓库[Access repository, Administration, Manage repository, Power user]
将更改提交到内部代码库[Administration, Manage repository]
从内部代码库推送更改[Administration, Manage repository]
重置内部代码库的更改 [Administration, Manage repository]
查看上游仓库位置[Access repository, Administration, Manage repository, Power user]
更新内部代码库[Administration, Manage repository]
- 全网站范围的特权
使用管理界面
添加新项目
添加语言定义
管理语言定义
管理群组
管理用户
管理角色
管理公告
管理翻译记忆库
管理组件列表
注解
全网站特权不会授予任何默认角色。这些特权特别强大,非常接近超级用户状态——多数特权会影响 Weblate 安装的所有项目。
群组列表¶
下面的群组在安装时建立(或在执行 setupgroups
后), 您可以自由修改它们。但是,如果它们被删除或重命名,迁移后将重新创建这些名称。
- 访客
对非授权用户确定权限。
这个群组只包括匿名用户(请参参见
ANONYMOUS_USER_NAME
)。可以从群组中去掉角色,来限制非授权用户的权限。
默认角色: Add suggestion, Access repository
- Viewers
这一角色确保公开项目对所有用户可见。所有用户默认是这个群组的成员。
所有用户默认为这个群组的成员,使用 自动分配组 。
默认角色:无
- 用户
所有用户的默认群组。
所有用户默认为这个群组的成员,使用 自动分配组 。
默认角色: Power user
- 校对
复核员的群组(参见 翻译工作流 )。
默认角色: Review strings
- 管理人员
管理员的群组。
默认角色: Administration
警告
永远不要删除预先定义的 Weblate 群组和用户,因为这会导致意外的错误。如果不想要使用这些特性,只去掉他们的特权即可。