11 个版本

0.5.1 2024 年 8 月 14 日
0.5.0 2024 年 5 月 1 日
0.4.4 2024 年 3 月 25 日
0.4.2 2023 年 11 月 28 日
0.3.2 2023 年 3 月 30 日

#926 in 身份验证

Download history 173/week @ 2024-04-29 1/week @ 2024-05-20 1/week @ 2024-07-29 129/week @ 2024-08-12

130 每月下载量

MPL-2.0 许可证

59KB
1.5K SLoC

Ldap3 协议绑定和异步客户端

这是 LDAP3 协议绑定和异步客户端库的正在进行中的工作。

不是 一个 LDAP3 服务器 - 它是您使用 TCP/TLS 服务器构建一个所必需的部分。您应该开发自己的状态机,并考虑 LDAP3 的许多安全风险,如过滤器堆栈限制、请求大小限制、结果中限制的条目数量、绑定以及如何检查访问控制等。

结构

Proto

此库包含所有必要的协议绑定,映射到 proto 中的 BER 结构,以及一套用于服务器所需的常见操作的 simple 包装器,丢弃了许多通常不需要的怪异选项。

Client

客户端是基于 tokio 的异步客户端库。它仍在开发中,因此并非所有功能都得到支持。

Cli

这是一个对异步客户端的轻量级包装,用于最小化使用和测试。

协议支持评分卡

名称 来自 rfc 实现了?
绑定 rfc4511 ✅ (支持简单和 SASL 绑定(不包括安全提供者),见下文)
解绑 rfc4511
搜索 rfc4511
过滤器 rfc4511
修改 rfc4511
添加 rfc4511
删除 rfc4511
modRDN rfc4511
比较 rfc4511
放弃 rfc4511
扩展 rfc4511 ✅ (可能需要扩展)
whoami rfc4532
断开连接通知 rfc4511
内容同步 rfc4533

我们不会添加的内容

StartTLS 与 LDAPS 相比存在许多安全问题,不应使用或开发,因为它不仅更复杂,而且比 LDAPS 差。使用 LDAPS。

SASL 非常复杂,只有少数客户端需要它来替代简单绑定。我们的支持仅限于 SASL 绑定认证接口,该接口的示例位于 './proto' crate 下。用户可以自由选择他们偏好的任何安全提供者。但是,我们不支持 SASL 传输加密层或任何安全提供者的实现,因为这些过于复杂,并且与我们的 crate 目标不一致。如果加密是必需的,我们建议使用 LDAPS。

备注

LDAP - 我们拥有的垃圾火灾,不是我们想要的垃圾火灾。

依赖关系

~16–26MB
~408K SLoC