2011-07-05 106 views
0

我工作場所的幾個Perl應用程序需要LDAP認證。當這些應用程序要求用戶登錄時,應用程序將匿名連接到LDAP服務器,然後在LDAP數據庫中搜索用戶。但是現在,我們不再允許匿名連接到LDAP服務器,我們會提供一個用戶名和密碼來連接到它。如何驗證LDAP帳戶?

回答

3

某些代碼會有幫助,但基本上,如果您有用戶名和密碼,則只需綁定到LDAP目錄即可。

Net::LDAP文檔有以下示例:

$ldap = Net::LDAP->new('ldap.umich.edu'); 
$mesg = $ldap->bind('cn=root,o=University of Michigan,c=us', password => 'secret'); 
# your normal code goes here 

替代地,當然,你可以繞過用戶名和密碼你提供且簡單地使用由所提供的用戶名和密碼綁定到該目錄用戶。

請注意,如果您綁定了Active Directory,則可以使用以下任一方法進行綁定:1)帳戶的用戶主體名稱(例如,[email protected])或2)Kerberos ID(類似於UMICH \用戶)除了使用提供的用戶的DN之外。

+0

感謝您的幫助,我真的在想我的問題,這是一個愚蠢的修復。我們正在擺脫LDAP服務器並獲得新服務器,所以我的問題是我不知道我可以使用用戶憑據來驗證連接。但是如果我需要搜索LDAP服務器,那麼我需要做其他事情。感謝您的幫助。 – samwell