LDAP请求和响应是什么样子的?

8
我正在集成我的应用程序与LDAP,最近才知道它不是通过HTTP发送的请求,而是它自己的协议?我不知道这意味着什么,但我将使用来自nsoftware.com的.NET插件IP Works。有人能告诉我这些请求中的一个是什么样子,回应会是什么样子?数据以什么形式呈现,文本?我与拥有AD的合作伙伴交谈过,他们说我需要一个IP和一个端口,并且我需要告诉他们我的服务器的IP(这对我很有意义)。然而,我不知道LDAP请求是什么。最好的例子是向我展示包含用户名和密码的请求,并显示返回用户数据的响应。我需要从表单生成此类请求并将响应解析到数据库中。另外,“安全LDAP”是什么意思,我需要什么样的凭据来进行这些请求,它们如何进入请求中?

2
你是否考虑过使用谷歌搜索文章来解释什么是LDAP? - pauska
1
是的,我已经到处搜索了,但所有的信息都太多了,我找不到一个简单的样例请求/响应或任何关于我正在尝试做的事情的清晰信息。 - MetaGuru
2
也许您应该把这看作是一种提示,需要在尝试实现使用LDAP的功能之前,真正理解LDAP。如果您连协议是什么都不确定,又怎么能希望实现任何有效的功能呢? - peelman
1
我不确定这个问题是否适合在SF上提问。老实说,@peelman是正确的,你应该在“集成”之前学习LDAP。如果你想看到LDAP请求的实际操作,请获取Wireshark并开始嗅探。 - jscott
不仅没有为这个问题做好准备,而且显然这是一个更适合我们的姊妹网站stackoverflow.com的问题。我会把它转移过去。 - Chopper3
@peelman,@jscott,你们真的很有帮助,非常感谢。这是一个使用完全功能的.NET LDAP插件的一次性解决方案,我不需要理解太多废话,它只需要工作,这是一个单一的请求和响应...如果你不知道答案,请不要浪费我的时间发这些毫无意义的评论。 - MetaGuru
3个回答

3
如果您想了解LDAP(假设有人为您配置了LDAP服务器),我建议使用LDAP浏览器,例如Apache Directory Studio
LDAP涉及多个安全方面。
首先,通信本身的安全性。这可以通过两种方式实现:使用SSL或TLS进行加密,使用ldaps:// URI(默认端口636)或使用STARTTLS(与普通LDAP相同的端口389,默认情况下需要客户端发送附加命令以切换到TLS,在交换一些LDAP消息后)。
其次,某些请求将根据您是否已将身份绑定到请求(即取决于您的请求是否经过身份验证)以及经过身份验证的用户被允许查看什么而产生不同的结果。大多数客户端都允许您使用给定的专有名称(即“完整”的LDAP用户名)或匿名连接。身份验证可以通过各种方式完成,包括密码、SASL或客户端SSL/TLS证书。

1

0

根据您的查询,我猜测您可能想要使用一个库来进行请求,而不是尝试自己编写代码。Novell维护的.NET C#库可能是最适合纯LDAP的(http://developer.novell.com/wiki/index.php/Ldapcsharp)。此外还有一些不错的教程:www.novell.com/coolsolutions/feature/11204.html和www.novell.com/coolsolutions/appnote/1673.html。

LDAP是一种网络协议,旨在访问中央用户数据库。它在很大程度上是一种抽象,因为许多非常不同的产品都使用LDAP进行查询和其他目录服务操作,包括许多具有其他非LDAP API的产品。如果您要涉及远程用户信息,了解LDAP非常重要。


我正在使用nsoftware插件IPworks,所以我认为这意味着我不是自己编写的。 - MetaGuru

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接