禅道11.5版本LDAP插件

禅道是国内开源的较好的项目管理软件,不足之处就是开源版的不支持使用LDAP认证登录,通过几天的学习,整理了一份禅道11.5版本LDAP插件。

吐槽:这个得吐槽下,作为一个开源软件,企业在使用时肯定会考虑使用LDAP之类的账号管理系统。禅道开源版没得,只有专业版或企业版才有。像其他用作与企业基础设施的开源软件或者CE版的,gitlab,gerrit,wiki,jenkins,rancher都是支持LDAP认证的。

特别说明:该插件适用于openLDAP,需要AD域的,可发邮件获取。由于没得测试环境,暂未进行适用于AD和openLDAP统一的认证。

获取插件

1、有兴趣给点C币的可以通过CSDN下载。
禅道开源版11.5LDAP插件
2、通过百度网盘免费获取
链接:https://pan.baidu.com/s/1oPu9PEa2vfKGxS9cX7RDMA

安装插件

用管理员账号登录禅道后,在禅道的后台→插件→本地安装,按照禅道的指导,然后选择LDAP压缩包即可安装。

使用说明

1、配置LDAP
插件安装好后会在禅道界面有个LDAP,在这是设置LDAP服务的参数。

  • LDAP服务器:ldap://
  • 协议版本:版本协议可以为空。
  • BindDN:cn=admin,dc=com,dc=com

BindDN是管理账户。

  • BindDN 密码:BindDN的密码
  • BaseDN:dc=com,dc=com
  • Search filter:可以为空。
  • 账号字段:uid
  • EMail 字段:mail
  • 姓名字段:cn
    设置好参数后点击保存设置即可。

点了保存设置,保存成功后没啥反应,这点不咋好。不过想验证是否保存成功,可以登录禅道的服务器,在zbox/app/zentao/module/ldap中查看是否有config.php

2、修改禅道的zbox/app/zentao/module/user/js/login.js,将下面的两句注释掉。

$('#loginPanel #submit').click(function()
    {
        var password = $('input:password').val().trim();
        //var rand = $('input#verifyRand').val();
        //if(password.length != 32 && typeof(md5) == 'function') $('input:password').val(md5(md5(password) + rand));
    });

说明:禅道传入到后端的密码为加密后的密码,注释掉这里是为了获取原始密码,以便用于LDAP的验证。

3、管理员登录
使用管理员登录时,在账号前面加$符号即可。

插件说明

1、验证逻辑

LDAP账户
失败
成功
存在
不存在
本地账户
登录
LDAP验证
登录失败
是否已经存在于禅道DB
更新用户信息并登录
添加用户到禅道DB并登录
禅道原生验证

2、对于新增的用户,会默认分配guest权限。

参考文献

1、禅道官方指导
2、PHP LDAP API
3、禅道原三方插件禅道开源版LDAP插件(1.2)

这个插件没有上传github或其他代码托管服务,故不能提供链接,只有作者信息。作者:TigerLau

4、PHP-LDAP 学习笔记

该博客对PHP-LDAP的各项参数有教详细说明

你可能感兴趣的:(配置管理)