zoukankan      html  css  js  c++  java
  • Bugzilla集成LDAP的方法

    转载自http://stack.blogbus.com/logs/4155271.html

    本文档参考了Tony Malandain的英文说明:
    Using Active Directory as the LDAP server for Bugzilla. HOWTO
    http://groups.google.com/group/netscape.public.mozilla.webtools


    原先,Bugzilla对LDAP的支持是基于Mozilla::LDAP模块的,而Mozilla::LDAP本身需要Netscape Directory SDK for C,并对Client library进行重新编译,非常繁琐,Mozilla组织本身也认为这种方法是不成熟的。
    因此,很多人采用NET::LDAP,但这种方法又需要对Bugzilla的某些脚本文件进行修改。NET::LDAP的介绍可以看http://ldap.perl.org/ 。采用这种方法可以参考: http://www.ikt-ret.dk/projects/bugzilla-ldap.shtml

    Bugzilla在V2.17.4之后已经支持NET::LDAP,直接进行NET::LDAP的配置即可。

    net::ldap模块的安装
    首先从http://www.cpan.org 获得Convert::ASN1模块
    输入perl Makefile.PL生成makefile,然后键入如下命令
    nmake
    nmake install
    可以使用nmake test进行测试。

    然后,从http://www.cpan.org 下载net::ldap模块
    解压缩后同样执行上述操作,安装perl-ldap。

    虽然Bugzilla采用了用户名/密码的验证方式,但其内部采用的仍然是电子邮件地址作为用户标识。因此LDAP服务器上必须为每个用户设置电子邮件地址,同时必须设置一个用户的Email地址为Bugzilla配置参数中管理员的邮件地址。从2.19开始Bugzilla将支持DB和LDAP两种模式同时工作。


    LDAP参数设置:
        注意:由于各种LDAP服务器提供的数据项和数据项名称有所不同,建议在设置前先使用LDAPExplorer等工具来察看LDAP服务器提供的内容。并在设置后先用相应的工具采用设置参数进行测试。一旦启用LDAP验证模式,Bugzilla内置的用户数据库就不再起作用。
        如果设置失败,可以直接修改Bugzilla目录下data->params文件的相关内容来恢复。该文件是一个文本文件。
       
    LDAPbinddn
        对于大多数LDAP服务器,LDAPbinddn可以不定义。由于Active Directory不允许匿名检索LDAP,管理员必须在Active Directory服务器上设置一个可以检索的用户(该用户不要赋予其它权限,同时限制其登录的计算机)。此时必须定义LDAPbinddn,格式为:
        CN=;CN=Users;DC=;DC=:。
        注意:CN=这一项中My User Name不是登录帐户ID,而是该用户账号的名称(Name)。口令一定要在最后加上,而CN=Users这个项目中,默认系统管理员没有将用户添加到Users以外的地方。

    LDAPBaseDN:
      除了用户名和口令,这部分的内容基本上与LDAPbinddn相似,格式为
      CN=Users,DC=,DC=

    LDAPuidattribute:
      这部分填写在登录时用户的输入在LDAP记录中对应的那一项,对于Active Directory,我们一般采用Windows系统的登录ID,即"sAMAccountName"。也可以选择其它能唯一标识该用户的项,例如帐号名称"name"这一项。

    LDAPmailattribute:
      这部分填写LDAP中用户帐号记录存储用户邮件地址的那一项,可以采用默认输入 "mail"


    LDAPfilter:
      如果此项不设置,那么LDAP中所有LDAPBaseDN下的用户都可以访问Bugzilla。
      如果想限制访问者,可以在LDAPBaseDN定义的区域下建立一个用户组,然后把授权用户加入到该组中,并在本项内容中填入:
      (memberOf=CN=,CN=Users,DC=,DC=)

    loginmethod:
      选择LDAP.

    例子
    假设服务器IP地址为192.168.0.1,采用Windows 2000 Server的Active Directory作为LDAP服务器,Windows域为mydomain.com.cn,并建立一个LDAP检索专用用户ldapuser,口令为ldappass。并建立一个组bugzillauser,所有的Bugzilla用户都在该组内。那么基本设置如下:

    LDAPbinddn
        CN=ldapuser;CN=Users;DC=mydomain;DC=com;DC=cn:ldappass
    LDAPBaseDN:
        CN=Users;DC=mydomain;DC=com;DC=cn
    LDAPuidattribute:
        sAMAccountName
    LDAPmailattribute:
       mail
    LDAPfilter:
      (memberOf=CN=bugzillauser,CN=Users;DC=mydomain;DC=com;DC=cn)
    loginmethod:
      LDAP

  • 相关阅读:
    Cocos2d-x win7下 android环境搭建
    cocos2dx 环境搭建 win7 +vs2012+ cocos2dx-2.1.4
    IOS 通过界面图标启动Web应用 + 全屏应用 + 添加到主屏幕
    js 魔鬼训练
    远程调试 Weinre
    PHP uniqid 高并发生成不重复唯一ID
    html5 炫酷的字幕雨
    学习建模
    jquery 购物车飞入效果
    jquery/zepto 圣诞节雪花飞扬
  • 原文地址:https://www.cnblogs.com/allenblogs/p/2081462.html
Copyright © 2011-2022 走看看