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
轉載于:https://www.cnblogs.com/allenblogs/archive/2011/06/15/2081462.html
總結
以上是生活随笔為你收集整理的Bugzilla集成LDAP的方法的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: Android开发中的svn问题
 - 下一篇: VC6里面的中文名字或者注释复制乱码解决