deadpool-ldap 0.3.1

LDAP support for the deadpool connection pool
Documentation

Deadpool for LDAP

Deadpool is a dead simple async pool for connections and objects of any type.

This crate implements a deadpool manager for ldap3

Features

Feature Description Default
tls-native Enable support for TLS connections using tokio-native-tls no
tls-rustls Enable support for TLS connections using tokio-rustls no

Basic usage

use deadpool_ldap::{Manager, Pool};

#[tokio::main]
async fn main() {
    let manager = Manager::new("ldap://example.org");
    let pool = Pool::builder(manager).max_size(5).build().unwrap();

    let mut client = pool.get().await.unwrap();
    result = client.simple_bind("uid=user,dc=example,dc=org", "password").await;
    assert!(result.is_ok());
}

Sending a custom LdapConnSettings

To send custom ldap connection settings use .with_connection_settings() on the manager.

use deadpool_ldap::{Manager, Pool};
use ldap3::LdapConnSettings;

#[tokio::main]
async fn main() {
    let manager = Manager::new("ldap://example.org")
        .with_connection_settings(
            LdapConnSettings::new()
                .set_conn_timeout(Duration::from_secs(30))
        );
    let pool = Pool::builder(manager).max_size(5).build().unwrap();

    let mut client = pool.get().await.unwrap();
    result = client.simple_bind("uid=user,dc=example,dc=org", "password").await;
    assert!(result.is_ok());
}

License

Licensed under either of

Choose at your option!