下载安装
省略
安装LDAP插件
管理员登录禅道,进入 后台 – 插件 - 本地安装
上传ldap.zip
cd opt/zbox/app/zentao
修改module/user/ext/model/identify.php 文件
注释其中2行并增加
# $account = $this->config->ldap->uid.'='.$account.','.$this->config->ldap->baseDN;
# $pass = $ldap->identify($this->config->ldap->host, $account, $password);
$dn = $ldap->getUserDn($this->config->ldap, $account);
$pass = $ldap->identify($this->config->ldap->host, $dn, $password);
修改module/ldap/model.php
文件在尾部}前加函数
public function getUserDn($config, $account) {
$ret = null;
$ds = ldap_connect($config->host);
if ($ds) {
ldap_set_option($ds,LDAP_OPT_PROTOCOL_VERSION,3);
ldap_bind($ds, $config->bindDN, $config->bindPWD);
$filter = "(cn=$account)";
$rlt = ldap_search($ds, $config->baseDN, $filter);
$count=ldap_count_entries($ds, $rlt);
if($count > 0) {
$data = ldap_get_entries($ds, $rlt);
$ret = $data[0]['dn'];
$str = serialize($data);
}
ldap_unbind($ds);
ldap_close($ds);
}
return $ret;
}
注意$filter = "(cn=$account)";
里面的 cn要和你的ldap登录用户字段一致, 不然不能登录
修改 config/my.php 文件
尾部增加
$config->notMd5Pwd = true;
以关闭md5加密,否则认证不能通过
配置LDAP
修改module/ldap/config.php
<?php
$config->ldap = new stdclass();
$config->ldap->host = 'ldap://172.31.250.114:389';
$config->ldap->version = '3';
$config->ldap->bindDN = 'cn=Manager,dc=yl,dc=local';
$config->ldap->bindPWD = 'zsA3esBeSXqzOTiDcPOUGAdiRzsLXp_1';
$config->ldap->baseDN = 'ou=People,dc=yl,dc=local';
$config->ldap->searchFilter = '(objectClass=person)';
$config->ldap->uid = 'cn';
$config->ldap->mail = 'mail';
$config->ldap->name = 'displayName';
也可以进页面配置
管理员登录禅道,进入 后台 - LDAP,配置参数如上
保存设置,并手动同步用户
登录使用
非LDAP用户登录,使用”admin
LDAP的用户直接登录使用即可