是否可以在没有LDAP服务器的情况下通过REST API公开LDAP"兼容"数据?

sel*_*dog 6 c# wcf ldap

让我首先说明我对LDAP几乎一无所知,这个问题本质上比其他任何问题更具概念性.由于这是一个很长的帖子,这里的问题是最简单的形式:

如何以最简单的方式将现有SQL Server数据库中的联系人数据公开给LDAP客户端?

情景

我所工作的组织开发了一个非常简单的内部CRM系统 - 实际上它更像是一个美化的联系人管理系统而不是CRM,但却充满了联系人的信息 - 他们现在希望能够轻松地将所有联系信息暴露给其他桌面和移动客户端,如Outlook和/或iOS设备,我已经被分配了解如何做到这一点.

我做的第一件事是打开Outlook,看看可以添加什么样的互联网地址簿; 在Outlook 2007中,我看到的唯一选项是LDAP.接下来,我查看了iOS设备,它还支持LDAP通讯簿.因此,似乎LDAP是实现这一目标所需要的......

研究LDAP

正如开头所述,我对LDAP几乎一无所知,为此目的进行研究并没有让我走得太远.我当然不想设置整个LDAP服务器而且我不需要LDAP安全性等(至少我理解,我没有),我需要做的就是暴露现有CRM数据库中的联系信息"LDAP方式."

我在研究中似乎看到的共识是安装一个LDAP服务器,如OpenLDAP,并将其配置为使用SQL Server(即现有的CRM数据库)作为后备存储,从而有效地将数据库记录暴露给LDAP客户端.这似乎过于复杂,我希望有一种更简单的方式来公开LDAP表单中的联系人记录.

休息的想法

我的想法 - 看起来像一个失败的原因 - 是通过一个简单的REST(或类似REST)API来暴露每个用户的联系人,该API返回可由Outlook,iOS和任何其他客户端使用的LDAP表单中的联系信息/支持LDAP的设备.

最终目标是指示组织中的个人打开Outlook或其iOS设备设置,并输入URI,如下所示:

https://www.ourinternalcrm.com/{username}/contacts

我浪费时间吗?

这甚至是远程可能的,值得进一步研究,还是我错过了LDAP的全部内容以及以LDAP形式公开数据的方式有效?

如果这是可能的,有人可以帮我指出正确的方向吗?我需要使用C#和(最有可能的)WCF来实现所有这些.

Ber*_*ite 4

LDAP 本身就是一种协议,并不基于 HTTP 或其他 Web 服务协议。

如果您想开发一个 LDAP 服务器,这将比使用现有的 LDAP 服务器技术更加复杂。

您可以实施现在称为 Active Directory 轻型目录服务 (AD LDS) 的 Active Directory 应用程序模式 (ADAM) 服务器,并构建应用程序或同步服务以将联系人详细信息推送到其中,从而无需创建应用程序。