轻量级目录访问协议(LDAP)是一种对象目录,通常用于集中式身份验证,也就是大家常说的单点登录(SSO)。许多从小型到大型的组织都部署了 LDAP。
在 Frappe 中设置 LDAP 集成后,你就可以使用 LDAP 凭据登录你的 Frappe 应用了。
- 配置
LDAP 设置页面上的许多字段都是必填的。这些字段在下方会以粗体显示,方便你辨认。
配置 LDAP 设置时,如果勾选了“启用”复选框,Frappe 会验证你填入字段的数据。如果有任何数据看起来无效,设置将无法保存,并会显示一条错误信息。修正所有错误后,你就可以成功启用 LDAP 身份验证了。
LDAP 设置配置页面被分成了几个小部分。请参阅下面的标题,了解如何配置每个部分。
要设置 LDAP,请导航到:
主页 > 集成 > LDAP 设置
| :memo: 提醒 |
|---|
| 在配置页面输入设置后,别忘了勾选页面顶部的启用复选框。 |
1.1 LDAP 服务器
Frappe 已在 OpenLDAP 和 Active Directory 上测试过。不过,任何符合标准的 LDAP 目录都可以用作 LDAP 身份验证源。
- LDAP 目录服务器:(下拉菜单)选择与你的 LDAP 目录匹配的选项。可用选项有:
Active Directory 用于 Microsoft Active Directory
OpenLDAP 用于 OpenLDAP
自定义 如果你需要调整 LDAP 组属性,请选择此选项。例如,你的 LDAP 组设置是 groupofnames 或 uniquegroupofnames 等
- LDAP 服务器 URL:这是你的 LDAP 服务器的 URL。格式必须为
ldap://yourserver:port或ldaps://yourserver:port
1.2 LDAP 身份验证
此部分包含将绑定到目录服务器的用户详细信息。
- 基础可分辨名称(DN):这是将绑定到 LDAP 的用户。该用户需要有权查看你在下方输入的搜索路径。
- 基础 DN 的密码:这是上述用户的密码,用于在 LDAP 服务器上查找用户详细信息。
1.3 LDAP 搜索路径
此部分是每个 LDAP 目录对象的搜索路径。只要采用 LDAP FDN(完整可分辨名称)格式,任何 LDAP 容器对象路径都可以使用。例如 ou=my frappe objects,dc=example,dc=com。此处提供的任何路径都要求绑定用户具有读写权限。
绑定用户需要写权限,以便最终用户可以重置密码。
- 用户 LDAP 搜索路径:这是 LDAP 服务器中所有用户必须属于的搜索路径,才能登录 Frappe 应用。
- 组 LDAP 搜索路径:这是 LDAP 服务器中所有组必须属于的搜索路径,才能登录 Frappe 应用。
- LDAP 搜索字符串:此字段允许 Frappe 将 Frappe 登录界面中输入的用户/电子邮件与 LDAP 服务器进行匹配。例如,你可以根据偏好使用电子邮件地址或用户名。
你可以在此处使用复杂的 LDAP 搜索过滤器,只要它们包含登录名占位符 {0} 并用大括号 () 括起来即可。它会被放在搜索过滤器中你希望匹配登录名的位置。ldap3 Python 模块支持且你的 LDAP 目录支持的任何过滤器都应该可用。例如:
(uid={0})
(SamAccountName={0}) – (Active Directory)
(&(description=*ACCESS:Frappe*)(uid={0}) – 在 OpenLDAP 中使用过滤器描述可以实现类似 Active Directory 的过滤 memberOf,因为它只会选择描述字段中包含 ACCESS:Frappe 的用户。
(&(SamAccountName={0})(memberof=cn=Domain Users,ou=Groups,DC=example,dc=com)) – (Active Directory)
1.4 LDAP 用户创建与映射
此部分包含将从目录服务器读取并映射到 Frappe 用户的 LDAP 属性。
- LDAP 电子邮件字段:指定包含用户电子邮件地址的 LDAP 属性。
mail是常用的 LDAP 属性。 - LDAP 用户名字段:指定包含用户用户名的 LDAP 属性。Active Directory 使用
sAMAccountName,OpenLDAP 使用uid。 - LDAP 名字字段:指定包含用户名字的 LDAP 字段。通常使用
givenName或sn。
还有许多其他非必填的 LDAP 属性可用于映射到 Frappe 用户。它们是:
- 中间名
- 电话
- 手机
安全警告 请注意,如果您将 LDAP 属性
1.5 LDAP 安全
本节为可选内容。但是,如果您想配置与目录服务器的安全连接,可以在此处输入 TLS 连接详情。
-
在 LDAP 设置区域中,有两个下拉菜单。
- SSL/TLS 模式 – 将其设置为 StartTLS 以使用 StartTLS 连接到您的 LDAP 服务器。如果您的 LDAP 服务器不支持 StartTLS,将其设置为 StartTLS 将导致错误
StartTLS is not supported。如果您收到此错误,请检查 LDAP 服务器上的配置。 - 要求受信任的证书 – 如果您将其更改为
Yes则 LDAP 服务器提供的证书必须被 Frappe 服务器信任。No不建议使用此设置,因为它绕过了确保证书由受信任的证书颁发机构签名的检查。 - SSL/TLS 模式 – 将其设置为 StartTLS 以使用 StartTLS 连接到您的 LDAP 服务器。如果您的 LDAP 服务器不支持 StartTLS,将其设置为 StartTLS 将导致错误
如果您希望使用 StartTLS 配合自签名(不受信任的)证书,请将其设置为 否。如果您不使用 StartTLS,此设置将被忽略。
- SSL/TLS 模式
指定您是否希望在初始连接到 LDAP 服务器时启动 TLS 会话。 - 要求受信任的证书
指定您是否要求使用受信任的证书来连接 LDAP 服务器
如果您指定了受信任的证书,您需要指定证书文件的路径。这些文件需要放置在您的 Frappe 服务器上,以下字段应为服务器上文件的绝对路径。证书字段包括:
- 私钥文件路径
- 服务器证书路径
- CA 证书文件路径
要将您的 Frappe 实例配置为接受由您自己的”证书颁发机构”或”自签名证书”签名的证书,请查阅您的操作系统文档,了解如何将”证书颁发机构”/”自签名”证书添加到您的”受信任证书存储”中。
1.6 LDAP 自定义目录
如果您选择自定义目录服务器,本节为必填项。此处只有两个选项,它们与您的目录服务器使用的组相关。它们是:
- 组对象类 这是您目录服务器中组的对象类。
- 组成员属性 这是组中包含用户通用名称(CN)的 LDAP 属性。
- 自定义组搜索 可用于指定自定义 LDAP 组搜索,某些 LDAP 提供商需要此设置。
1.7 LDAP 组映射
本节包含映射 LDAP 组的详细信息。用户所属的任何组都将映射到指定的 Frappe 角色。
Frappe 功能:如果您配置了组映射,每次用户登录时,系统都会检查其角色并根据需要添加/移除角色。
- 创建时的默认角色:当用户在您的 Frappe 应用中创建时,将被分配此默认角色。
- LDAP 组映射表 您可以将多个 LDAP 组映射到 Frappe 角色。输入的 LDAP 组必须与 LDAP
cn属性匹配。即 ‘Domain Users’ 而不是 ‘cn=Domain Users,ou=Groups,dc=example,dc=com’,后者是 LDAP FDN 条目。
示例
| 序号 | LDAP 组 | 角色 |
|---|---|---|
| 1 | Domain Users | Guest |
| 2 | Domain Administrators | Administrator |
- LDAP 组字段 (弃用警告) 这是用户 LDAP 对象中包含用户所属组列表的 LDAP 属性。如果您已按照上述内容配置了所有设置,此设置将不会生效。此字段仅为在当前布局之前配置了 LDAP 的用户保留。此字段将在 Frappe 的未来版本中移除。
- 使用 LDAP 登录 Frappe
设置并启用 LDAP 后,在登录屏幕上,系统会启用通过 LDAP 登录选项。
图 1. 配置并启用 LDAP 后的 Frappe 应用登录屏幕。