Active Directory 同步器
Active Directory同步器通过LDAP或LDAPS从Microsoft Active Directory拉取用户,并保持目录同步。
先决条件
您需要:
- 可通过网络访问的Active Directory域控制器
- 对用户目录具有读取权限的服务账户
- 您用户目录的基础DN(搜索基础)
- LDAP端口389(或用于安全连接的LDAPS端口636)上的网络连通性
配置
在Casdoor中创建Active Directory同步器:
- 导航至同步器选项卡
- 单击添加以创建新的同步器
- 请填写以下必填字段:
| 字段 | 描述 | 示例 |
|---|---|---|
| 组织 | 将导入用户的Casdoor组织 | my-org |
| 名称 | 此同步器的唯一标识符 | 广告同步器 |
| 类型 | 选择“Active Directory” | Active Directory |
| 服务器 | 您的AD域控制器的主机名或IP地址 | dc.example.com |
| LDAP端口 | LDAP端口(LDAP为389,LDAPS为636) | 389 |
| 绑定DN | 服务账户的唯一标识名 | CN=服务账号,CN=用户,DC=example,DC=com |
| 密码 | 服务账户的密码 | 您的密码 |
| 基础DN | Search base for users | DC=example,DC=com |
对于Active Directory同步器,将数据库相关字段(数据库类型、数据库、表)留空。
提示
对于生产环境,建议使用LDAPS(端口636)以实现与Active Directory的安全通信。
字段映射
同步器会自动将Active Directory用户属性映射到Casdoor用户字段:
| Active Directory字段 | Casdoor字段 | 描述 |
|---|---|---|
| objectGUID | Id | 用户唯一标识符(GUID) |
| sAMAccountName | 名称 | 用户名(登录名) |
| displayName | DisplayName | 显示名称 |
| givenName | FirstName | 名 |
| sn | 姓 | 姓氏 |
| 邮箱 | 电子邮件 | 电子邮件地址 |
| 手机 | 电话 | 手机号码 |
| 职位 | e职称 | 工作职务 |
| 部门 | 隶属关系 | 部门 |
| userAccountControl | 是否禁止 | 账户状态 |
信息
userAccountControl位2表示账户已禁用;这些用户在Casdoor中被标记为禁止。
运行同步器
- 点击测试连接以验证连接性和凭据。
- 切换已启用并单击同步以立即运行。
- 同步器使用过滤器
(&(objectClass=user)(objectCategory=person))获取基础 DN 下的所有用户账户(计算机和其他 AD 对象将被排除)。
故障排除
如果同步器无法连接或检索用户,请检查以下内容:
- 验证网络是否可通过LDAP端口连接到AD域控制器
- 确保绑定 DN 和密码正确
- 确认服务账户对Base DN具有读取权限
- 检查基础 DN 的格式是否正确(例如:
DC=example,DC=com) - 验证防火墙规则是否允许 Casdoor 向域控制器发送 LDAP 流量