跳转到主要内容
LDAP 集成登录仅 私有化版本 支持。

快速了解

LDAP(Lightweight Directory Access Protocol,轻量级目录访问协议)是一种基于 X.500 标准的协议,用于访问和维护分布式目录服务。LDAP 使得用户和应用程序能够查询、浏览和搜索存储在目录中的信息,如用户身份信息、网络资源等。 LDAP 通常运行在 TCP/IP 协议栈上,特别是使用 TCP 端口 389(未加密通信)和 636(加密通信,使用 LDAPS)。 LDAP 的核心特性:
  • 树状结构:LDAP 数据组织成树状结构,称为 DIT(Directory Information Tree),便于进行层次化的搜索和浏览
  • 条目和属性:LDAP 中的每个条目(Entry)包含多个属性(Attribute),属性有类型和值,例如 cn 代表通用名称(Common Name),mail 代表电子邮件地址
OpenLDAP 是一个开源的 LDAP 实现,由于其开源和灵活性,成为了许多企业和组织的首选。
本文基于环境中已经支持 Docker 和 Docker Compose,如果环境不支持,请先自行安装。

Docker Compose 配置

docker-compose.yml
version: '1'

networks:
  go-ldap-admin:
    driver: bridge

services:
  openldap:
    image: osixia/openldap:1.5.0
    container_name: go-ldap-admin-openldap
    hostname: go-ldap-admin-openldap
    restart: always
    environment:
      TZ: Asia/Shanghai
      LDAP_ORGANISATION: "flashduty.com"
      LDAP_DOMAIN: "flashduty.com"
      LDAP_ADMIN_PASSWORD: "password"
    volumes:
      - ./openldap/ldap/database:/var/lib/ldap
      - ./openldap/ldap/config:/etc/ldap/slapd.d
    ports:
      - 389:389
    networks:
      - go-ldap-admin

  phpldapadmin:
    image: osixia/phpldapadmin:0.9.0
    container_name: go-ldap-admin-phpldapadmin
    hostname: go-ldap-admin-phpldapadmin
    restart: always
    environment:
      TZ: Asia/Shanghai
      PHPLDAPADMIN_HTTPS: "false"
      PHPLDAPADMIN_LDAP_HOSTS: go-ldap-admin-openldap
    ports:
      - 8088:80
    volumes:
      - ./openldap/phpadmin:/var/www/phpldapadmin
    depends_on:
      - openldap
    links:
      - openldap:go-ldap-admin-openldap
    networks:
      - go-ldap-admin
请将 password 替换成您想要设置的密码。

服务启动

将上述配置文件保存为 docker-compose.yml,在配置文件所在的目录,打开终端运行以下命令:
docker-compose up
查看服务状态:
docker-compose ps
停止服务:
docker-compose down

登录 OpenLDAP

在浏览器中访问 http://ip:8088/,使用以下凭据登录:
字段
用户名cn=admin,dc=flashduty,dc=com
密码您设置的密码

OpenLDAP 配置

添加组和用户

添加组和用户
用户路径(例如上图 ou=people 下的 cn=flash duty)=> Add new attribute => 选择 Email,为用户添加 Email 属性。若已存在请忽略。

Flashduty 集成

结合上述 OpenLDAP 配置,Flashduty 集成信息如下图所示: Flashduty集成配置
上述字段的含义与描述请参考 配置单点登录