有一个简单的LDAP到HTTP网关吗?

我们有一个本地LDAP目录,提供有关我们用户社区的基本联系信息。 我们希望将这些内容集成到一些第三方托pipe服务中,这些服务允许我们实现运行任意Javascript的小部件。

为了将Javascript连接到我们的LDAP目录,我想build立一个简单的LDAP到HTTP代理,它将接受HTTP GET请求,将它们转换成适当的LDAP查询,并以目录信息作为JSON编码数据进行响应。

在一个理想的世界里,像这样的东西:

GET /ldap[email protected] 

会给我这样的东西:

 { "cn": "Bob Person", "title": "System Administrator", "sn": "Person", "mail": "[email protected]", "telepehoneNumber": "617-555-1212", "givenName": "Bob" } 

(这显然假定Web应用程序具有关于使用什么基DN的本地configuration信息,如何authentication等)。

我想我可以写一个…但肯定这样的东西已经存在?

采取安德鲁的build议,并把它变成一个答案…

大家的共识似乎是没有预先存在的解决scheme,我应该从我的懒惰derriere下来写一个。 所以我做了,它可以从:

这不是特别漂亮,但它适用于我的原型,我想也许别人会发现有用的一天。 该代码当前不处理authentication。 如果幸运的话,它可能会处理服务器断开连接。 它确实支持JSONP,这是我需要将其与我们的第三方托pipe服务集成。

我确实find了一个宣称可以做同样事情的产品,但这是一个商业产品,我对这个定价一无所知。

这是一个古老的问题,但是对于在这个领域寻找解决scheme的其他人来说,我偶然发现了Json2Ldap ,它使用JSON-RPC协议公开LDAP服务器。

这使您能够build立一些相当有针对性的查询,并保持事情的美好和高效。 还支持您所期望的所有身份validation,不同端点的令牌,以及控制您想要通过外部手直接开放的滥用级别。

我不知道一个现成的解决scheme。

另一方面,我会用Perl来做。 Mojolicious和Net :: LDAP使得它很容易实现。

我想我可以写一个…但肯定这样的东西已经存在?

我不知道。

Apache和LDAP相关的唯一插件显然是mod_ldap。 但是,它只会为您提供authentication/授权部分。 至于search目录,你将不得不编写一个python / perl cgi模块或servlet来处理http / https请求来searchldap目录。 有很多API可用。 例如:

http://ldap.perl.org/
http://directory.apache.org/api/five-minutes-tutorial.html

你可能最好写一些东西来处理你的查询,并以JSON格式返回。

您是否考虑过在https://www.web2ldap.de/download.html上扩展代码?

这是一个到LDAP网关的Web浏览器,但是不应该难以适应返回JPON。

我怀疑你可以用任何客户端脚本语言做这个,由于一些安全问题,但绝对可以通过服务器端脚本语言,如PHP或。NET等

编辑:看看这个http://www.nimbusds.com/json2ldap.html或http://blog.dzhuvinov.com/?p=96