【发布时间】:2011-09-14 00:00:33
【问题描述】:
首先让我声明一下,我对 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(或类似 REST)API 公开每个用户的联系人,该 API 以 LDAP 形式返回联系人信息,可供 Outlook、iOS 和任何其他支持 LDAP 的客户端/设备。
最终目标是指示我组织中的个人打开 Outlook 或他们的 iOS 设备设置并输入如下简单的 URI:
https://www.ourinternalcrm.com/{username}/contacts
我在浪费时间吗?
这是否可能并值得进一步调查,还是我错过了 LDAP 的全部要点以及以 LDAP 形式公开数据的工作方式?
如果可能的话,有人可以帮我指出正确的方向吗?我需要使用 C# 和(很可能)WCF 来实现所有这些。
【问题讨论】: