Docker安裝開源版禪道ZenTao 並集成LDAP

開源版禪道ZenTao集成LDAP

注:
本文僅針對開源版。 禪道ZenTao專業版,默認集成有LDAP插件,直接配置即可。

Docker安裝禪道ZenTao

如果未安裝禪道的,可使用Docker快速安裝,如果已經安裝的,可跳過。

Docker Hub地址:https://hub.docker.com/r/idoop/zentao

Docker安裝命令:

docker run -d -p 80:80 -p 3306:3306 \
  -e BIND_ADDRESS="false" \
  -v /data/zentao/:/opt/zbox/ \
  --name myzentao idoop/zentao:latest

# 單行
# docker run -d -p 80:80 -p 3306:3306 -e BIND_ADDRESS="false" -v /data/zentao/:/opt/zbox/ --name myzentao idoop/zentao:latest

安裝完成後,訪問http://localhost即可。

默認用戶名及密碼爲:admin/123456

安裝LDAP插件

管理員登錄禪道,進入 後臺插件,搜索 ldap

選擇禪道開源版LDAP插件(1.2) 下載

再從 本地安裝 進行安裝。

windows 進入 \xampp\zentao\目錄,docker 進入/opt/zbox/app/zentao/目錄,修改以下文件:

1. 修改module/user/ext/model/identify.php 文件

  1. 刪除 $account = $this->config->ldap->uid.'='.$account.','.$this->config->ldap->baseDN;

增加 $dn = $ldap->getUserDn($this->config->ldap, $account);

  1. $pass...一行修改爲

$pass = $ldap->identify($this->config->ldap->host, $dn, $password);

2. 修改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 = "(uid=$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;
} 

3. 修改 config/my.php 文件

添加 $config->notMd5Pwd = true; 以關閉md5加密,否則認證不能通過

配置LDAP

管理員登錄禪道,進入 後臺- LDAP,配置如下參數:

(參數僅供參考,填寫實際LDAP配置)

選項
LDAP服務器 ldap://192.168.32.203:389
協議版本 3
BindDN cn=admin,dc=mylitboy,dc=com
BindDN 密碼 ldap123
BaseDN ou=users,dc=mylitboy,dc=com
Search filter (objectClass=person)
賬號字段 uid
EMail 字段 mail
姓名字段 uid

最後,保存設置,並手動同步用戶即可。

登錄使用

非LDAP用戶登錄,使用"$"+用戶名登錄,如:$admin

LDAP的用戶直接登錄使用即可。

注意:(經測試,ldap用戶無法在禪道內修改密碼,會提示原密碼不正確)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章