7 releases
0.3.1 | Jul 26, 2022 |
---|---|
0.3.0 | Feb 21, 2022 |
0.1.4 | Sep 3, 2021 |
0.1.3 | Nov 13, 2020 |
#2 in #deadpool
8KB
75 lines
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
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
- APACHE 2.0 license (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
Choose at your option!
Dependencies
~7–21MB
~312K SLoC