2016-12-09 2 views
0

약간의 문제가 있습니다. 직장에서는 잠시 프록시 LDAP을 사용하여 LDAP에 연결합니다.프록시 LDAP를 통해 LDAP에 연결하는 방법은 무엇입니까?

그러나 필자의 perl 스크립트는 LDAP에 직접 연결하는 데 사용되며 LDAP 프록시를 통해 LDAP에 연결하는 올바른 방법을 찾을 수 없습니다.

ldap 팀은 프록시의 URL로 "my.local.ldap.org"를 간단히 변경하라고했습니다.

하지만 그렇게 할 때 "myscript.pl 줄 X, < DATA> 403 행에서 LDAP 서버에 연결할 수 없습니다."라는 오류를 제외하고는 아무 것도 얻을 수 없습니다. "

나는 Perl에 익숙하지 않기 때문에 나는 지혜로운 사람이다.

어떻게하면 LDAP 프록시를 통해 내 LDAP에 연결할 수 있으며 데이터를 가져올 수 있습니까? 로 직접 LDAP 서버에 연결에 비해 (그것이 LDAP 프록시 것을 제공) 프록시를 통해 연결 어떤 차이가 안 일반적으로

#!/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 프록시가 올바르게 설정되어 있어야합니다. 올바른 연결 정보가 있는지 확인하기 위해 프록시의 호스트/포트에 telnetting을 시도 했습니까?

+0

나는 포트와 url 및 ip에서 텔넷을 시도했지만 작동한다. nmap이 포트가 열렸 음을 알려줍니다. 그래서 나는 그것이 연결을 차단하는 LDAP 프록시 설정이라고 생각하는 경향이 있습니다. –

+1

아마도 맞을 것입니다. ldapsearch와 같은 클라이언트를 사용하여 코드를 신뢰할 수없는 경우 LDAP 프록시를 테스트 할 수 있습니다. ldapsearch 클라이언트를 코드의 사용자로 바인드하십시오. –

+0

그걸 시도 했습니까 (왜 전에 생각하지 않았습니까?). 클라이언트가 LDAP에 연결할 수 없습니다. 점점 더 많은 LDAP 프록시가 필요합니다. –

관련 문제