10477777 发表于 2015-12-27 11:44:27

Perl操作OpenLDAP(未测试)

Perl接口
  Perl 的NET::LDAP模块中包括有完整的LDAP目录访问函数,只要安装NET::LDAP就可以完成正常的LDAP目录访问;但在安装NET::LDAP模块前,必须先安装Convert::ASN1模块,该模块可以从CPAN下载。
  例:
  #!/usr/bin/perl
  
  use warnings;
  use strict;
  
  use Net::LDAP;
  use Net::LDAP::Util qw(ldap_error_text);
  
  my $server = "localhost";
  my $ldap = new Net::LDAP($server) ||
  die("failed to connect to server.$!\n");
  
  my $mesg = $ldap->bind("cn=Manager,dc=daifu,dc=com", password => "secret");
  
  die ("bind failed with ",ldap_error_text($mesg->code()),"\n")
  if $mesg->code();
  
  $mesg = $ldap->search(base => "dc=daifu,dc=com", scope => "sub",
  filter => "sn=*",);
  
  die ("search failed with ",ldap_error_text($mesg->code()),"\n")
  if $mesg->code();
  
  print "Count is ",$mesg->count(),"\n";
  
  while (my $entry = $mesg->shift_entry()) {
  print "dn:",$entry->dn(),"\n";
  for my $attr($entry->attributes()) {
  for my $val($entry->get_value($attr)) {
  print "$attr:$val\n";
  }
  }
  
  print "\n";
  }   操作过程实际上与C和JAVA是一样的。
页: [1]
查看完整版本: Perl操作OpenLDAP(未测试)