禅道开源版接入ldap

下载安装

省略

安装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

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的用户直接登录使用即可

你可能感兴趣的:(禅道开源版接入ldap)