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

5
我在一家拥有多个公开网站的公司工作。
其中一些网站使用第三方产品(Moveable Type、myBB、Trac等),我们还有几个采用微软技术栈构建的定制网站。
目前,我们没有统一的身份验证/授权解决方案;每个网站都实现了自己的用户存储。
我想在所有网站上实现统一的用户身份验证。我不希望实现单点登录(如果用户在切换网站时需要输入凭据也不会太糟糕),但我确实需要每个用户只有一个用户名和密码。
对我来说,最可能的解决方案似乎是实现一个LDAP服务器。LDAP被我们使用的一些第三方产品支持,而且我可以修改我们的定制网站以使用LDAP。
然而,我从未使用过LDAP存储来管理外部用户(我总是构建自己的用户存储)。
使用LDAP的利弊如何?我有没有忽略其他选项?
谢谢
Sandy
2个回答

2

我没有使用OpenLDAP的经验,但是对于基于ActiveDirectory的LDAP的利弊:

优点:

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

缺点:

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

2
LDAP是一种在结构化树中存储用户信息并通过LDAP协议轻松在Web上提供的好方法。虽然有几种不同的LDAP解决方案,但您选择的方案当然将基于服务器操作系统。如果您有任何Microsoft站点,则最好选择Active Directory或ADAM(MS)。将Unix机器从属于Active Directory比另一种方式更容易。如果所有查询都是基于Web并通过代码处理,则可以使用任何您选择的LDAP源(它们都相当复杂,但使用正确的工具易于管理)。
LDAP天生就是轻量级(因此是L),而且速度很快。它被设计为分层访问用户信息,并且根据所有这些信息轻松搜索。它还支持SSL协议(LDAPS),我强烈推荐使用。
缺点是基本的分层结构和LDAP结构本身的差异。Active Directory在RFC方面不是纯LDAP,但足够接近,可以很容易地理解。

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