您将如何实施具有以下目标的系统:
- 管理目前与第三方供应商的应用程序紧密集成的数十万现有用户的身份验证和授权 (我们希望将这些用户分解为我们管理的东西,并让我们的应用程序与之抗衡,加上我们的第 3 方供应商与之抗衡)。
- 管理链接到这些用户的个人资料信息
- 必须能够从几乎任何平台(Windows、*nix、PHP、ASP/C#、Python/Django 等)上的任意数量的 Web 应用程序访问。
这里有一些示例实现:
- LDAP/AD 服务器来管理一切。对所有配置文件数据使用自定义架构。一切都可以针对 LDAP/AD 进行身份验证,我们可以将各种 ACL 和配置文件数据存储在自定义模式中。
- 仅使用 LDAP/AD 进行身份验证,使用某种传统数据库(MSSQL/PostgreSQL/MySQL)或基于文档的数据库(CouchDB、SimpleDB 等)将 LDAP 用户绑定到最强大的配置文件/授权服务器。使用 LDAP 进行授权,然后点击数据库获取更高级的内容。
- 对所有内容都使用传统数据库(关系或文档)。
这三个是最好的吗?是否有其他符合上述目标且更易于实施的解决方案?
** 我应该补充一点,几乎所有将对用户数据库进行身份验证的应用程序都在我们的控制之下。唯一的少数外部人员将是我们正在从中删除当前用户数据库的应用程序,也许还有 1 或 2 个其他应用程序。没有什么比需要 openID 服务器更广泛的了。
同样重要的是要知道这些用户中的许多人已经拥有这些帐户 5-8 年并且知道他们的登录名和密码等等。