#ldap #ldap-client #client #ldap-server #container #connection #connecting

bin+lib rldap

A wrapper over ldap3 crate to easy create connection and send requests to openldap server

1 个不稳定版本

0.1.0 2023年3月4日

#7 in #ldap-client

MIT 许可证

15KB
300 代码行

Rldap

使用 Rust ldap 绑定,在 docker 容器环境中连接 ldap 服务器

使用 musl 静态构建

cargo build --target x86_64-unknown-linux-musl --release

运行发布版本

cargo run --target x86_64-unknown-linux-musl --release

拉取 Docker 镜像

rldap 是应用程序镜像

rldap-osixia-ldap 是 ldap 镜像

docker image pull fishingboo/rldap:latest
docker image pull fishingboo/rldap-osixia-openldap:latest

容器 .env 配置设置

LDAP_DOMAIN=jacaranda.local
LDAP_SERVER=rldap.jacaranda.local
LDAP_BASE_DN=dc=jacaranda,dc=local
LDAP_BIND_DN=cn=admin,dc=jacaranda,dc=local
LDAP_ADMIN_PASSWORD=Mypasswd@123

测试

使用 shell 脚本 test.sh 通过创建两个容器来测试 rldap。一个是 openldap 服务器,另一个是发送 ldap 请求的 rldap 容器。所有连接默认都使用 ldaps 在 636 端口。

我使用的 openldap 容器是 docker-openldap,我根据 高级用户指南 扩展了我的情况。

你需要 shell 脚本来测试,确保它们有权限

chmod +x test.sh; chmod +x ldap_build/build.sh

构建

使用 Makefile 构建、启动和测试容器

make # run build_ldap, build, up and test
make build # cleanups dangling images and build rldap image
make build_ldap # cleanups dangling images and build rldap-ldap image
make up # after builds steps, up containers rldap-ldap rldap-test
make test # after container start, make rldap-test request to rldap-ldap container
make update # builds rldap to linux-musl in --release target, copy rldap bin and .env to running rldap-test container 
make clean # cleanups dangling images, stop containers and remove

依赖关系

~7–23MB
~337K SLoC