2016-12-09 23 views
0

私は少し問題があります。職場では、すぐにプロキシldapを使用してLDAPに接続します。プロキシLDAP経由でLDAPに接続するにはどうすればいいですか?

しかし、私のperlスクリプトはldapに直接接続するために使用されていましたが、ldapプロキシ経由でldapに接続する正しい方法を見つけることができません。

ldapチームは、単に "my.local.ldap.org"をプロキシのURLで変更するように指示しました。

しかし、私がそうすると、「myscript.pl行Xの DATA>行403でLDAPサーバーに接続できません」というエラー以外は何も返されません。

私はPerlにはかなり新しいので、私の知恵の終わりです。

ldapプロキシ経由で私のLDAPに接続してデータを取得するにはどうしたらいいですか?私のPerlコードあり

:一般に

#!/usr/bin/perl 

use warnings; 
use strict; 
use Net::LDAP; 
use Net::SMTP; 
use MIME::Lite; 
use Getopt::Std; 

connect_ldap(); 

sub connect_ldap { 

    my @attributs = qw(uid subsidiary preferredLanguage); 

    my $ldap = Net::LDAP->new(
     "my.local.ldap.org", 
     port => 389 
    ) or die open (STDERR, ">&SDTOUT"); 

    my $mesg = $ldap->bind (
     "cn=app_readonly,ou=account,ou=security,o=oubase", 
     password => "mypassword" 
    ); 

    $mesg = $ldap->search(
     base => "o=oubase", 
     scope => "sub", 
     filter => "(&(objectclass=inetOrgPerson)(|(subsidiary=sub1)(subsidiary=sub2))(role=id=app_access,id=APP,*))", 
     attrs => [ @attributs ] 
    ); 

printf "COUNT : %s\n", $mesg->count; 
foreach my $entry ($mesg->entries) { 
$entry->dump; 
} 
print "==========================================\n"; 

     $mesg = $ldap->unbind; 
     $ldap->unbind; 

    } 

答えて

1

は、として直接LDAPサーバへの接続に比べて(それがLDAPプロキシであることを条件とする)プロキシを介して接続する任意の差があってはなりませんLDAPプロキシが正しく設定されている限り長くしてください。正しい接続情報が得られているかどうかを確認するために、プロキシのホスト/ポートにtelnet接続しようとしましたか?

+0

私はポートとURLとIPでtelnetを試しましたが、それは動作します。 nmapはポートが開かれていることを伝えます。 私はそれが接続をブロックするldapプロキシ設定だと思う傾向があります。 –

+1

あなたはおそらく正しいでしょう。 ldapsearchのようなクライアントを試して、コードを信頼しない場合はLDAPプロキシをテストできます。 ldapsearchクライアントをコード内のユーザーとしてバインドさせます。 –

+0

それを試してみました(私はそれ以前に考えなかったのですが)。 クライアントがLDAPに接続できませんでした。ますます、LDAPプロキシがこれに含まれています。 –

関連する問題