Odoo 访问权限管理指南
访问权限
访问权限 是决定用户可以访问和编辑的内容与应用的权限。在 Odoo 中,这些权限可以为单个用户或用户组设置。仅向需要的用户授予权限,可防止用户修改或删除他们不该接触的内容。
只有 管理员 能更改访问权限。
:::: danger ::: title 危险 :::
更改访问权限可能对数据库产生不利影响。这包括 无效管理员,即数据库中没有用户能够更改访问权限。因此,Odoo 建议在修改前联系 Odoo 业务分析师或我们的支持团队。 ::::
:::: tip ::: title 提示 :::
用户 必须 在其用户档案中拥有特定的 Administration 访问权限,才能修改其他用户的访问权限设置。
要访问此设置,路径为
Settings app --> Manage users --> select a user --> Access Rights tab --> Administration section --> Administration field。
进入设置后,已有的管理员 必须 将 Administration 字段的值改为 Access Rights。
完成后,点击 Save 保存更改,使该用户成为管理员。
::::
管理用户权限 {#access-rights/user-permissions}
individual users <users/add-individual> 的访问权限在用户被添加到数据库时设定,但可以在用户档案的任何时候进行调整。
要修改用户权限,点击相应用户进行编辑。
在用户档案页面的 Access Rights 选项卡中,向下滚动即可查看当前权限。
对于每个应用,使用下拉菜单选择该用户应拥有的权限级别。各部分的选项不同,但最常见的有:Blank/None、User: Own Documents、User: All Documents 或 Administrator。
Access Rights 选项卡中的 Administration 字段有以下选项:Settings 或 Access Rights。
管理特定权限 {#access-rights/specific-user-permissions}
虽然访问权限通常以角色捆绑分配,也可以作为显式权限单独设置。
::: example
例如,给用户 Timesheets 应用授予 Administrator 权限,即可让其完全访问该应用。但该用户仍可被限制只能管理 自己的 工时单——如薪资管理员不需要追踪时间的情况。
:::
要管理特定权限,必须启用 developer mode <developer-mode>。
启用后,进入 Settings 应用,点击 Manage Users,选择用户,进入 Technical Access Rights 选项卡。从这里可以编辑 Groups,在各个部分管理具体的访问权限。如果不对这些组进行修改,则其权限将与 Access Rights 选项卡中的选择保持一致。
Selected groups:根据Access Rights选项卡的选择生成的详细访问权限列表。Groups added automatically:已授予用户的显式权限所隐含、自动继承的权限。这些值与Users & Companies --> Groups菜单中相应 Group 表单的Inherited选项卡下列出的值相匹配。
::: example
当用户被赋予 Sales Administrator 权限时,系统会自动继承 Canned Responses Administrator 权限。这些关联在 Selected Groups 与 Groups added automatically 两个表格中均有体现。
:::
要向该用户档案添加权限,点击 Selected groups 表格中的 Add a line,然后选择相应权限。要删除权限,点击该行末尾的 fa-times(取消)图标。
:::: warning ::: title 警告 :::
从 Selected Groups 列表中移除权限会影响 Groups added automatically 列表中的权限,因为已选的权限组决定了自动添加的权限组。
::::
点击权限本身会打开组管理表单。了解更多关于 管理组 <access-rights/groups> 的信息。
Groups added automatically 中的任何权限都是由 Selected groups 中的权限暗示或要求的。这类权限无法直接删除,但可以通过点击权限本身并将用户添加到相应组来授予更多用户。
:::: note ::: title 备注 :::
- 绿色的权限已由其他权限提供(例如,将
Website应用的权限设为Editor and Designer同时会给用户Restricted Editor权限)。 - 红色的权限相互冲突,不能同时激活。
- 斜体 的权限是由
Selected group暗示的(通常出现在Groups added automatically中)。 ::::
创建与修改组 {#access-rights/groups}
组 是针对特定应用的权限集合,用于为大量用户统一管理访问权限。管理员可以在 Odoo 中修改现有组,或创建新组以定义应用模型的规则。
要访问组,首先激活 Odoo 的 developer mode <developer-mode>,然后前往 Settings app --> Users & Companies --> Groups。
在 Groups 页面点击 Create 创建新组。随后在空白组表单中选择 Application,并填写组表单(详见下文)。
要修改现有组,点击列表中的组并编辑表单内容。
在表单中填写 Name,并勾选 Share Group(如果该组用于为部分用户共享数据的访问权限)。
:::: important ::: title 重要 :::
始终测试所做的设置,以确保它们正确应用于目标用户。 ::::
组表单包含多个标签页,用于管理组的各个要素。每个标签页中,点击 Add a line 添加新行,点击 fa-times(取消)图标删除行。
Users 标签页:列出组内当前用户。黑色用户名表示拥有管理员权限,蓝色则表示普通用户。点击
Add a line可向组中添加用户。Inherited 标签页:表示加入该组的用户会自动加入此标签页列出的其他组。点击
Add a line添加继承组。::: example 例如,若组 Sales/Administrator 在其
Inherited标签页列出了 Website/Restricted Editor,则加入 Sales/Administrator 组的用户会自动获得对 Website/Restricted Editor 组的访问权限。 :::Menus 标签页:定义该组可以访问的模型(菜单)。点击
Add a line添加特定菜单。Views 标签页:列出该组可访问的 Odoo 视图。点击
Add a line添加视图。Access Rights 标签页:列出该组对模型的一级权限(读取、写入、创建、删除)。
Name列对应模型的权限名称。要为组关联新访问权限,点击
Add a line,从Model下拉框中选择模型,然后在Name列填写权限名称。根据需要勾选以下选项:- Read:用户可以查看对象的现有值。
- Write:用户可以编辑对象的现有值。
- Create:用户可以为对象创建新值。
- Delete:用户可以删除对象的值。
:::: tip ::: title 提示 :::
虽然访问权限的命名没有统一规范,建议使用能体现用途的名称。例如,采购经理对
Contact模型的访问权限可命名为[res.partner.purchase.manager],即模型的技术名称后加上描述用户组的标识。若要从当前视图获取模型的技术名称,先在
Name字段输入占位文本,然后点击Model名称,再点击fa-arrow-right(内部链接)图标。 :::Record Rules 标签页:列出第二层的编辑与可视权限。记录规则会覆盖或细化组的访问权限。点击
Add a line为组添加记录规则。每条规则可设置以下选项:- Apply for Read
- Apply for Write
- Apply for Create
- Apply for Delete
:::: important ::: title 重要 :::
记录规则使用 域(domain)表达式来过滤数据。域表达式是条件列表,例如:
[('mrp_production_ids', 'in', user.partner_id.commercial_partner_id.production_ids.ids)]该规则用于为外包商启用 MRP 消耗警告。
Odoo 提供了大量预配置的记录规则供使用。对域表达式不熟悉的用户应在修改前咨询 Odoo 业务分析师或支持团队。 :::
超级用户模式 {#access-rights/superuser}
超级用户模式 允许用户绕过记录规则和访问权限。要激活 超级用户模式,首先启用 developer mode <developer-mode>。然后在顶部横幅的 fa-bug(调试)图标打开的 debug 菜单中,向下滚动至底部,点击 Become Superuser。
:::: important ::: title 重要 :::
只有在用户档案的 Administration 部分拥有 Settings 访问权限的用户,才被允许登录 超级用户模式。 ::::
:::: danger ::: title 危险 :::
超级用户模式 可规避记录规则和访问权限,使用时必须极度谨慎。退出 超级用户模式 后,用户可能因所做更改被锁定数据库,导致出现 无效管理员(管理员失去修改访问权限/设置的能力)。
此时请联系 Odoo 支持:new help ticket。支持团队可通过专用登录恢复访问。 ::::
要退出 超级用户模式,在右上角点击用户名(如 OdooBot),选择 Log out。
:::: tip ::: title 提示 :::
另一种激活 超级用户模式 的方式是以超级用户身份登录。进入登录界面,填写相应的 Email 与 Password,随后点击 Log in as superuser 而非普通的 Login。
::::