为外部用户使用LDAP的优缺点

时间:2010-02-02 12:07:42

标签: authentication active-directory ldap forms-authentication openldap

我在一家拥有多个面向公众的网站的公司工作。

其中一些网站是使用第三方产品(Moveable Type,myBB,Trac等)构建的。我们还在Microsoft堆栈上构建了几个定制站点。

目前,我们没有统一的身份验证/授权解决方案;每个站点都实现自己的用户存储。

我热衷于在所有网站上实施统一的用户身份验证。我不期望实现单点登录(如果在切换站点时提示用户提供凭据,那将不会很糟糕),但我确实需要每个用户都有一个用户名&密码。

在我看来,最可能的解决方案是实现LDAP服务器。我们使用的一些第三方产品支持LDAP,我可以修改我们的定制网站以使用LDAP。

但是,我从未使用LDAP存储来管理外部用户(我总是构建自己的用户存储)。

使用LDAP有哪些优缺点?我忽略了其他选择吗?

由于

2 个答案:

答案 0 :(得分:2)

我没有使用OpenLDAP的经验,但作为基于ActiveDirectory的LDAP的优缺点:

优点:

  • 它标准化,因此经常有一些绑定插件;
  • 许多开发框架都支持与LDAP的通信; (我以前从PHP做过; .NET有一个专门的命名空间。)
  • 实施了所有必要的身份验证方法和安全机制 - 密码安全存储,必要时可以安全地执行服务器身份验证;
  • 帐户锁定政策/密码记录功能可根据需要启用;
  • AD具有方便的用户管理工具,也可以通过API编写脚本或访问;
  • 用户可以拥有复杂的群组成员资格;
  • 可以自定义任何对象/属性的权限;
  • 可以通过添加更多域控制器来分发/复制目录。

缺点:

  • 部署需要一些规划;
  • 应定期备份ActiveDirectory。
  • 如果您针对Active-Directory进行身份验证,则需要Microsoft许可证。
  • 许可证非常昂贵。

答案 1 :(得分:2)

LDAP是在结构化树中存储用户信息的好方法。 LDAP协议还使其可以在Web上随时使用。有几种不同的LDAP解决方案,但您选择的那种解决方案当然将基于您服务器的操作系统。如果您有任何Microsoft站点,最好的选择是使用Active Directory或ADAM(MS)。将unix机器连接到Active Directory比将其他方式更容易。如果您的所有查询都是基于网络的,并通过代码处理,那么您可以使用您选择的任何LDAP源(它们都相当复杂,但使用的工具很容易管理)。

LDAP本质上是轻量级的(因此是L)并且速度很快。它的结构用于对用户信息进行层次访问,并且可以根据所有这些信息轻松搜索。它也支持SSL协议(LDAPS),我强烈推荐。

缺点是基本的层次结构以及LDAP结构本身的差异。 Active Directory不是一个与RFC相关的纯LDAP,但它足够接近,可以轻松搞清楚。