# 基于角色的权限
可以通过基于角色的权限来控制对不同文档的访问权限。
ERPNext 拥有基于角色的权限系统,这意味着您可以给用户分配角色,并在角色上设置权限。角色权限管理器允许您设置哪些角色可以访问哪些文档以及具有哪些权限(如读取、写入、提交等)。
一旦给用户分配了角色,他们的访问权限就可以限制在特定的文档上。权限结构允许您使用称为字段的权限级别的概念,为不同字段定义不同的权限规则。
# 1. 如何使用角色权限管理器
要开始使用角色权限管理器,请前往:> 首页 > 用户和权限 > 角色权限管理器

权限应用于以下组合:
角色: 如前所述,给用户分配角色,并在这些角色上应用权限规则。例如,销售用户可以被赋予员工和销售用户的角色。
角色示例包括:会计经理、员工、人力资源用户等。
文档类型: 每种类型的文档,无论是主文档还是事务文档,都有单独的角色权限列表,如前图所示。
文档类型示例包括:销售发票、请假申请、库存进入等。
权限级别: 在每个文档中,您可以按“级别”对字段进行分组。每组字段用一个唯一的数字(0到9)表示。可以对每个字段组应用不同的权限规则。默认情况下,所有字段的级别都是0。
权限“级别”将字段与级别X连接到权限规则级别X。要了解更多信息请点击这里。
文档阶段: 权限应用于文档的每个阶段,如创建、保存、提交、取消和修改。可以允许角色打印、电子邮件、导入或导出数据、访问报告或定义用户权限。
用户权限: 使用 ERPNext 中的用户权限,可以限制用户仅访问特定文档类型的特定文档。例如:仅访问所有地区中的一个地区。为其他文档类型定义的用户权限也会应用,如果它们通过链接字段与当前文档类型相关联。
例如,客户是销售订单或报价单中的链接字段。在角色权限管理器中,可以使用“设置用户权限”按钮设置用户权限。
要基于文档/字段设置用户权限,请前往:> 首页 > 用户和权限 > 权限 > 用户权限
添加新规则: 在角色权限管理器中,要添加新规则,请点击添加新规则按钮,弹出框将要求您选择角色和权限级别。选择后点击“添加”,这将在您的规则表中添加一行。
# 2. 基于角色的权限如何工作
请假申请是一个很好的例子,涵盖了权限系统的所有方面。
- 它应该由员工创建。为此,应给予员工角色读取、写入、创建权限。

- 员工 应该只能访问他/她自己的请假申请。因此,应该为每个用户-员工组合创建用户权限记录。

- 如果您希望员工只能选择另一个文档中的文档,而不能读取整个文档,那么只授予选择权限给员工角色。

- 人力资源经理应该能够看到所有请假申请。为人力资源经理在级别0创建一个权限规则,具有读取权限。应用用户权限应被禁用。

- 请假审批者应该能够看到并更新他/她下属的请假申请。请假审批者在级别0被赋予读取和写入权限。应在请假审批者的用户权限中列出相关员工文档。(对于员工文档中提到的请假审批者,通过程序化创建用户权限记录,这项工作减少了努力)。

它只能由人力资源用户或请假审批者批准/拒绝。请假申请的状态字段设置在级别1。人力资源用户和请假审批者被赋予级别0的读取和写入权限,而其他人(所有)则被赋予级别1的读取权限。
人力资源用户应该能够将请假申请委托给他/她的下属。人力资源用户被赋予设置用户权限的权利。具有人力资源用户角色的用户将能够为其他用户定义请假申请的用户权限。
← 用户权限 角色对页面和报告的权限 →