配置LDAP

轻量级目录访问协议(LDAP)是一种集中式访问控制系统,被许多中小型组织使用。

通过设置 LDAP 服务,您可以使用 LDAP 凭据登录 ERPNext 账户。

1. 前提条件

要使用 LDAP,您首先需要安装 ldap3 Python 模块。为此,请在托管 ERPNext 实例的服务器上打开一个终端会话。进入 frappe-bench 目录。 运行命令:./env/pip install ldap3

现在您已准备好启用 ERPNext 中的 LDAP 服务。

2. 设置 LDAP

要设置 LDAP,请前往

首页 > 集成 > LDAP 设置

许多参数是强制性的,以便让 ERPNext 连接到 LDAP。它们是:

  • LDAP 服务器 URL:这是您的 LDAP 服务器的 URL。必须采用 ldap://yourserver:portldaps://yourserver:port 的形式。

  • 基础专有名称(DN):这是有权在您的 LDAP 服务器上查找用户详细信息的用户的专有名称。该用户应仅在您的 LDAP 服务器上拥有只读权限。

  • 基础 DN 的密码:这是上述用户的密码,用于在您的 LDAP 服务器上查找用户详细信息。

  • 用户组织单位:这是组织单位的 DN,您的 LDAP 服务器中的所有用户必须属于该组织单位才能登录 ERPNext。

  • 创建时的默认角色:当用户在 ERPNext 中创建时,他们将在首次登录时被分配此默认角色。

  • LDAP 搜索字符串:此字段允许 ERPNext 将 ERPNext 登录屏幕中输入的用户/电子邮件与 LDAP 服务器进行匹配。例如,您可以根据偏好使用电子邮件地址或用户名。

它必须以以下格式输入:LDAPFIELD={0}

Active Directory 用户名示例:sAMAccountName={0}

Open LDAP 用户名示例:uid={0}

  • LDAP 电子邮件字段:指定包含用户电子邮件地址的 LDAP 字段。

Active Directory 和 Open LDAP 示例:mail

  • LDAP 用户名字段:指定包含用户用户名的 LDAP 字段。

Active Directory 示例:sAMAccountName

Open LDAP 示例:uid

  • LDAP 名字字段:指定包含用户名字的 LDAP 字段。

Active Directory 示例:givenName

Open LDAP 示例:sn

还有许多其他非强制性字段,您可以使用它们将 LDAP 用户字段映射到 ERPNext 用户字段。它们是:

  • 中间名
  • 电话
  • 手机

一旦您的设置正确,您可以点击顶部的 Enabled 复选框。当尝试启用 LDAP 时,ERPNext 将尝试连接到 LDAP 服务器以确保设置正确。如果失败,您将无法启用 LDAP,并会收到一条错误消息。

错误消息将指示需要解决的问题才能继续。

启用 LDAP 后,在登录屏幕上,系统会启用通过 LDAP 登录选项。

2.1 LDAP 安全

在 LDAP 安全部分,您有多种选项可以安全地连接到您的 LDAP 服务器。

  • SSL/TLS 模式

指定是否要在初始连接到 LDAP 服务器时启动 TLS 会话。

  • 需要受信任的证书

指定是否需要受信任的证书才能连接到 LDAP 服务器。

如果您指定了受信任的证书,则需要指定证书文件的路径。这些文件应放置在您的 ERPNext 服务器上,以下字段应为服务器上文件的绝对路径。 证书字段包括:

  • 私钥文件路径

  • 服务器证书路径

  • CA 证书文件路径

2.2 LDAP 组映射

ERPNext 还允许您自动将多个 LDAP 组映射到相应的 ERPNext 角色。 例如,您可能希望所有会计部门的员工自动拥有“会计用户”角色。

请确保填写 LDAP 组字段以允许此操作。这是 LDAP 中用户对象上的字段,包含用户所属的所有组。

对于 Active Directory 和 Open LDAP,此字段应设置为 memberOf

Open LDAP 可能需要在您的 LDAP 服务器上启用此字段。有关更多详细信息,请参阅互联网上的示例。

请注意,每次用户登录时都会检查所有 ERPNext 角色,并会从用户权限中移除或添加相应角色。

在 LDAP 设置区域,有两个下拉菜单。

  1. SSL/TLS 模式 – 将其设置为 StartTLS 以使用 StartTLS 连接到您的 LDAP 服务器。如果您的 LDAP 服务器不支持 StartTLS,将其设置为 StartTLS 将导致错误 StartTLS is not supported。如果收到此错误,请检查 LDAP 服务器上的配置。
  2. 需要受信任的证书 – 如果将此选项更改为,则 LDAP 服务器提供的证书必须受 Frappe/ERPNext 服务器信任。如果您希望使用带有自签名(不受信任)证书的 StartTLS,请将此选项设置为。如果您不使用 StartTLS,则此设置将被忽略。