我想弄清楚如何在Symfony3中使用Ldap類。我已經成功創建並綁定了一個連接,但是我無法在查詢中獲得任何結果。爲了確保查詢真正有效,我運行了一個純php版本:香草php ldap查詢的作品。 Symfony 3 ldap查詢失敗。爲什麼?
if($lconn = ldap_connect('ds.mydomain.ca')){
ldap_set_option($lconn, LDAP_OPT_REFERRALS, 0);
ldap_set_option($lconn, LDAP_OPT_PROTOCOL_VERSION, 3);
if($lbind = ldap_bind($lconn,'webuser','password')){
$filter ="(&(sn=Smith)(givenname=J*))";
if(!$result = ldap_search($lconn, "dc=ds, dc=mydomain, dc=ca", $filter)) throw \Exception("Error in search query: ".ldap_error($lconn));
$output = ldap_get_entries($lconn, $result);
}else{
$output='bind failed';
}
} else {
$output= 'connection failed';
}
它返回預期的結果數。
在另一方面,這個查詢用的Symfony 3的LDAP組件返回完成0結果:
//use Symfony\Component\Ldap\Ldap
$ldap = Ldap::create('ext_ldap', array(
'host' => 'ds.mydomain.ca',
'version' => 3,
'debug' => true,
'referrals' => false,
));
$ldap->bind('webuser', 'password');
$q = $ldap->query("dc=ds, dc=nrc, dc=ca", "(&(sn=Smith)(givenname=J*))");
$output = $q->execute();
任何想法,爲什麼當其所有的選項應該是相同的那些我用裸露的Symfony的LDAP查詢失敗PHP的查詢?
正如你在做'$ output-> toArray()'時沒有顯示什麼東西? Symfony LDAP查詢返回一個集合類。 – ChadSikorra
@ChadSikorra我使用Twig'dump'函數來顯示集合。入口計數爲0。 – dnagirl