2017-02-10 7 views
0

匿名バインド中にLDAPでユーザーを検索しようとしています。まず第一にこれは可能ですか?匿名バインドを使用してLDAPでユーザーを検索するにはどうすればよいですか?

ここには動作コードがあります。

$ldaphost = "dc.mydomain.com";  // your ldap server 
$ldapport = 389;     // your ldap server's port number 
$ldapuser = "[email protected]"; 
$ldappass = "somepass"; 
$basedn = 'dc=mydomain,dc=com'; 

$searchfor = 'seconduser'; 

//Connecting to LDAP 
$ldapconn = ldap_connect($ldaphost, $ldapport) or die("Could not connect to" . $ldaphost); 

if ($ldapconn) 
{ 

    ldap_set_option($ldapconn, LDAP_OPT_PROTOCOL_VERSION, 3); 
    ldap_set_option($ldapconn, LDAP_OPT_REFERRALS, 0); 

    // binding to ldap server 
    $ldapbind = ldap_bind($ldapconn,$ldapuser, $ldappass); 

    $filter = '(&(samaccounttype=805306368)(samaccountname=' . $searchfor . '))'; 

    $result = ldap_search($ldapconn, $basedn, $filter, array('samaccountname')); 

    $info = ldap_get_entries($ldapconn, $result); 

    echo '<pre>'; 
    print_r($info);  

} 

上記のコードで唯一のことは、ユーザーにバインディングを提供する必要があることです。代わりに匿名でやりたい私は

$ldapbind = ldap_bind($ldapconn); 

$ldapbind = ldap_bind($ldapconn,$ldapuser, $ldappass); 

から次のコード行を変更しかし、これは私が検索することができますどのように私にldap_search()

ldap_search(): Search: Operations error 

に次のエラーを与えていることを行うために、匿名バインドを使用するLDAPのユーザー

答えて

1

Active Directory管理者は、匿名アクセスが既定で無効になっていることを伝えておく必要があります。おそらく彼らはそれを変更するつもりはありません。アプリケーションの場合は、サービスアカウント(安定したパスワード)を要求します。

関連する問題