LDAP功能是依赖于PHP的LDAP扩展,所以要加载LDAP扩展, 具体可以参考

安装PHP的LDAP扩展

一、功能简介

通过配置LDAP,实现ldap服务器的用户自动登录。也可以从ldap导入用户。即解决了禅道在Windows域下(Windows AD)用户导入和单点登录的问题。

二、普通LDAP服务器配置

LDAP 验证账号密码 for java ldap用户验证_服务器

如果配置成功并且正确,那么登录时,使用LDAP用户名和密码,系统会自动验证登录,并且会添加用户到数据库。

勾选匿名,管理账号和密码将自动隐藏,不需要填写。

LDAP 验证账号密码 for java ldap用户验证_自定义_02

Base DN填写内容如下图:

LDAP 验证账号密码 for java ldap用户验证_服务器_03

登录名填的是LDAP服务器中所对应的用户名字段,如下图:

LDAP 验证账号密码 for java ldap用户验证_php ldap 登陆验证_04

三、活动目录配置

选择服务器类型为“活动目录”。因为活动目录不允许匿名登录所以需要填写管理账户和密码。

注:

管理

账号必须对域具有管理权限,

否则

查询

数据

出错。

LDAP 验证账号密码 for java ldap用户验证_搜索_05

管理账户填写如图:

LDAP 验证账号密码 for java ldap用户验证_自定义_06

活动目录设置允许访问,否则无法登录。

LDAP 验证账号密码 for java ldap用户验证_搜索_07

四、从LDAP导入用户

配置成功后,点击 从LDAP导入用户 按钮,即可导入用户。

在关联本地账号,选择本地账号,就可以把LDAP用户绑定到本地账号上。

禅道专业版8.5.2版本开始,LDAP导入用户时,新增了搜索筛选和真实姓名同名区别显示的功能。

4.1 搜索功能

组织--用户里,点击从LDAP导入用户,到导入页面,可以看到搜索按钮。

LDAP 验证账号密码 for java ldap用户验证_搜索_08

点击搜索按钮,可以根据使用需要来搜索需要导入的用户。

LDAP 验证账号密码 for java ldap用户验证_自定义_09

搜索条件除了可以搜索配置LDAP时,设置的属性配置:登录名、真实姓名、手机、工作电话、Email地址外,还提供了一个自定义的属性搜索。

LDAP的服务器里,还有除了我们默认的属性配置以为的属性,可以通过自定义来搜索。

需要在搜索框自己填写属性的名称和值。

以上面的截图为例。

我们要搜索 sn 这个属性不等于 wang时,在自定义搜索框里,需要填写 !(sn=wang) 。

我们要搜索 sn 这个属性等于 wang时,在自定义搜索框里,需要填写 sn=wang 。

其他的属性搜索,可以同样的方式来搜索。

4.2 同名检查和区别显示

当从LDAP导入用户时,出现LDAP用户真实姓名和禅道系统用户真实姓名存在重名时,我们在配置LDAP时,可以有以下的区别显示:

在真实姓名后面加编号,例如 李国庆,李国庆2。

在真实姓名后面加部门,例如 李国庆(研发部),李国庆(测试部)。

我们默认的是在真实姓名后面加编号。

LDAP 验证账号密码 for java ldap用户验证_搜索_10

如果是选择了

在真实姓名后面加部门,需要在导入时,选择好所属的部门。

没有选择的话,会显示为 李国庆(0)。

LDAP 验证账号密码 for java ldap用户验证_php ldap 登陆验证_11

以下是真实姓名后面加编号和加部门的导入用户显示样式:

LDAP 验证账号密码 for java ldap用户验证_搜索_12