用户与权限

Frappe 自带用户认证系统。它处理用户账户、基于角色的权限以及基于 Cookie 的用户会话。

Frappe 中的用户认证系统开箱即用地提供了许多功能:

  1. 用户
  2. 角色
  3. DocType 权限
  4. 权限级别
  5. 角色权限管理器
  6. 用户权限
  7. 限制视图和表单
  8. 密码哈希
  9. 密码强度检查
  10. 登录尝试限流
  11. 第三方认证,如 OAuth、Google、Facebook 等

用户和角色

用户记录代表一个经过认证的用户,可以在系统中执行授权操作。一个用户可以分配多个角色。角色描述了一个用户可以对某个 DocType 执行哪些操作。

用户角色

例如,博客作者角色对 博客文章 DocType 具有读取、写入和创建权限,但对 博客分类 只有读取权限。

博客作者角色

DocType 权限

当您安装应用时,DocType 可以有一组默认的角色。要为 DocType 配置角色,您必须在 DocType 的权限表中添加它们。

DocType 权限

如果您展开该行,您会看到更多可以配置的选项。 DocType 权限

以下是这些选项及其说明的列表:

选项 说明
级别 分配给此角色的权限级别
如果用户是所有者 仅当用户是创建该文档的人时,限制才会生效
读取 允许读取文档
写入 允许编辑文档
创建 允许创建文档
删除 允许用户删除文档
提交 允许用户提交文档
取消 允许用户取消文档
修订 允许用户修订文档
报表 允许用户查看报表视图
导出 允许用户以 Excel/CSV 格式导出记录
导入 允许用户使用数据导入工具导入记录
设置用户权限 允许用户为其他用户应用用户权限
共享 允许用户与其他用户共享文档
打印 允许用户打印文档或生成 PDF
电子邮件 允许用户为该文档发送电子邮件

权限级别

权限级别可用于对文档中的字段进行分组,并为每个级别应用单独的角色。默认情况下,所有字段的权限级别都设置为 0。

权限级别

角色权限管理器

角色权限管理器是一个用于管理角色权限的用户工具。默认的权限集显示在这里,并且可以被覆盖。

用户权限

用户权限是可以按用户应用的另一组规则。它可用于限制包含特定链接字段值的文档。

例如,要限制用户 John 只能查看由他创建的博客文章,即博客作者 John。应创建具有以下值的用户权限记录。

用户权限记录

创建用户权限配置后,当用户登录查看博客文章列表时,他将只能看到由他创建的博客文章的受限视图。

受限的博客文章列表

自动角色

某些角色会自动对用户隐藏,这简化了编写需要全面权限的 DocType。以下是自动角色:

  1. “访客” – 此角色分配给所有人,包括未认证的用户。
  2. “所有” – 此角色分配给所有注册用户。这包括网站用户。
  3. “管理员” – 此角色分配给默认创建的 Administrator 用户。
  4. “后台用户” – [v15 新增] 此角色分配给所有用户类型为“系统用户”的用户,即他们是系统用户而非网站用户。

限制视图和表单

Frappe 框架允许您配置哪些模块、DocType 和视图对用户可见。要配置向用户显示哪些模块,请转到用户表单的允许模块部分。

要隐藏用户的 DocType,请使用角色权限管理器从角色中移除读取权限。

要控制页面和报表的权限,请使用页面和报表的角色权限工具。

密码哈希

Frappe 内置了密码哈希处理功能。密码会被加密并保存在一个名为 __Auth 的独立数据库表中。

MariaDB [_baa0f26509a564b6]> select * from __Auth;
+---------+------------------+-----------+-----------------------------------------------
| doctype | name             | fieldname | password
+---------+------------------+-----------+-----------------------------------------------
| User    | Administrator    | password  | $pbkdf2-sha256$29000$Xss5pxSC8F5rDSHEOEdo7Q$in
| User    | [email protected] | password  | $pbkdf2-sha256$29000$y7mXMoZQau09RwiBsLaWsg$h.
+---------+------------------+-----------+-----------------------------------------------

密码策略

Frappe 还支持密码强度检查。可以在系统设置的“安全”部分启用该功能。“最低密码评分”字段用于验证密码应达到的强度等级。

密码策略

登录尝试

Frappe 允许您配置在锁定账户之前允许的连续登录尝试次数,以及锁定的时间长度。

第三方认证

Frappe 支持第三方登录提供商。要设置登录提供商,您需要配置一个社交登录密钥。点击此处了解更多信息。