Frappe 自带用户认证系统。它处理用户账户、基于角色的权限以及基于 Cookie 的用户会话。
Frappe 中的用户认证系统开箱即用地提供了许多功能:
- 用户
- 角色
- DocType 权限
- 权限级别
- 角色权限管理器
- 用户权限
- 限制视图和表单
- 密码哈希
- 密码强度检查
- 登录尝试限流
- 第三方认证,如 OAuth、Google、Facebook 等
用户和角色
用户记录代表一个经过认证的用户,可以在系统中执行授权操作。一个用户可以分配多个角色。角色描述了一个用户可以对某个 DocType 执行哪些操作。
用户角色
例如,博客作者角色对 博客文章 DocType 具有读取、写入和创建权限,但对 博客分类 只有读取权限。
博客作者角色
DocType 权限
当您安装应用时,DocType 可以有一组默认的角色。要为 DocType 配置角色,您必须在 DocType 的权限表中添加它们。
DocType 权限
如果您展开该行,您会看到更多可以配置的选项。 DocType 权限
以下是这些选项及其说明的列表:
| 选项 | 说明 |
|---|---|
| 级别 | 分配给此角色的权限级别 |
| 如果用户是所有者 | 仅当用户是创建该文档的人时,限制才会生效 |
| 读取 | 允许读取文档 |
| 写入 | 允许编辑文档 |
| 创建 | 允许创建文档 |
| 删除 | 允许用户删除文档 |
| 提交 | 允许用户提交文档 |
| 取消 | 允许用户取消文档 |
| 修订 | 允许用户修订文档 |
| 报表 | 允许用户查看报表视图 |
| 导出 | 允许用户以 Excel/CSV 格式导出记录 |
| 导入 | 允许用户使用数据导入工具导入记录 |
| 设置用户权限 | 允许用户为其他用户应用用户权限 |
| 共享 | 允许用户与其他用户共享文档 |
| 打印 | 允许用户打印文档或生成 PDF |
| 电子邮件 | 允许用户为该文档发送电子邮件 |
权限级别
权限级别可用于对文档中的字段进行分组,并为每个级别应用单独的角色。默认情况下,所有字段的权限级别都设置为 0。
权限级别
角色权限管理器
角色权限管理器是一个用于管理角色权限的用户工具。默认的权限集显示在这里,并且可以被覆盖。
用户权限
用户权限是可以按用户应用的另一组规则。它可用于限制包含特定链接字段值的文档。
例如,要限制用户 John 只能查看由他创建的博客文章,即博客作者 John。应创建具有以下值的用户权限记录。
用户权限记录
创建用户权限配置后,当用户登录查看博客文章列表时,他将只能看到由他创建的博客文章的受限视图。
受限的博客文章列表
自动角色
某些角色会自动对用户隐藏,这简化了编写需要全面权限的 DocType。以下是自动角色:
- “访客” – 此角色分配给所有人,包括未认证的用户。
- “所有” – 此角色分配给所有注册用户。这包括网站用户。
- “管理员” – 此角色仅分配给默认创建的
Administrator用户。 - “后台用户” – [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 支持第三方登录提供商。要设置登录提供商,您需要配置一个社交登录密钥。点击此处了解更多信息。