0
我正在嘗試使用ActiveLdap搜索具有特定屬性值的用戶,但它正在向服務器發送一些奇怪的查詢。我有它設置如下:ActiveLdap根據屬性查找用戶
class Ldapuser < ActiveLdap::Base
ldap_mapping :dn_attribute => 'uid',
:prefix => 'ou=People',
:classes => ['top', 'inetOrgPerson']
end
,然後嘗試找同學與特定專業:
Ldapuser.all(
:attribute => 'studentMajor', :value => 'CHEM',
:attribute => 'primaryAffiliation', :value => 'student',
:attribute => 'organizationalStatus', :value => 'active').each {|user|
# process the user...
}
當我運行它,它永遠不會到達內部塊哪裏會處理用戶,我必須殺死程序。 Tcpdump顯示執行了三次搜索:
- searchRequest(1)「」baseObject - 它給出了0個結果。
- searchRequest(2)「cn = schema」baseObject - 它給出了115個結果。
- searchRequest(3)「ou = people,dc = myedu,dc = edu」wholeSubtree - 這需要太長時間纔會中斷它。
我的期望是,它會做一個查詢並迅速得到約20個結果,這是我得到使用命令行使用ldapsearch時:
ldapsearch -x '(&(studentMajor=CHEM)(primaryAffiliation=student)
(organizationalStatus=active))'