NAME

ResourcePool::Factory::Net::LDAP - A Net::LDAP Factory for ResourcePool

SYNOPSIS

use ResourcePool::Factory::Net::LDAP;

my $factory = ResourcePool::Factory::Net::LDAP->new($hostname,
				[NewOptions]);

DESCRIPTION

This class is a factory class for Net::LDAP resources to be used with the ResourcePool.

Please have a look at the ResourcePool::Factory documentation to learn about the purpose of such a factory.

ResourcePool::Factory::Net::LDAP->new($hostname, @NewOptions)

The arguments for the new method are passed to the new method of Net::LDAP.

$hostname

The LDAP server name.

@NewOptions - Optional

The additional options to be passed to the new method of Net::LDAP.

$factory->bind(@BindOptions)

The arguments to be passed to the bind() method of Net::LDAP.

Please not that this module will always do a bind to the LDAP server, if you do not specify any bind arguments the bind will be anonymously. The bind() call is used to check the vitality of the LDAP connection, if it fails ResourcePool will throw it away..

$factory->start_tls(@TLSOptions)

If you call this method, the Net::LDAP connections created through this factory will be upgraded to TLS directly after the establishment.

The options to this method are the same as for the same named method of the Net::LDAP module.

If you specify this option, the start_tls operation will always be performed BEFORE bind() is called. This is even true if you call the start_tls() operation of the factory after the bind() method. This ensures the the bind credentials are encrypted if you use TLS.

The ResourcePool design does not allow the mixture of encrypted/unencrypted connections in one pool. Even if it's possible it is not recommended to use the start_tls() method of Net::LDAP directly when you use ResourcePool to manage your connections. In the rare cases where you need to mix encrypted and not encrypted connections (e.g. to use encrypted for authentication and a plain connection for other operations) you should use two separate ResourcePools, one configured with start_tls, the other without.

EXAMPLES

use ResourcePool;
use ResourcePool::Factory::Net::LDAP;

my $factory =  ResourcePool::Factory::Net::LDAP->new("ldaphost",
		version => 2);
$factory->bind('cn=Manager,dc=fatalmind,dc=com',
                   password => 'secret');

SEE ALSO

Net::LDAP, ResourcePool, ResourcePool::Factory

AUTHOR

    Copyright (C) 2001-2003 by Markus Winand <mws@fatalmind.com>

    This program is free software; you can redistribute it and/or
    modify it under the same terms as Perl itself.