我需要有关为我的基础架构安装 AD DS 或 AD LDS 的建议。
我有一个网站,目前还没有任何供访客登录的功能,现在我们正在开发一个新的应用程序,以便访客可以在网站上创建帐户。您能想到的最好的例子就是任何电信服务提供商,他们都有自己的网站,现在正在为其客户创建登录功能,以便用户可以创建帐户并订阅电子账单之类的功能。
希望现在情况已经明朗。对于这个特定的应用程序,我打算拥有一个 Web 服务器、一个应用程序服务器、一个 DB 服务器、一个 SMTP 服务器和一个 AD 服务器(用于用户身份验证和保存配置文件)。
我的问题从 AD 前端开始,我需要 AD DS 还是 AD LDS,我需要 AD 提供什么
- 提供用户身份验证
- 提供基于角色的访问。
这是我的疑问。
答案1
正如 Rajeev 在评论中指出的那样,活动目录是LDAP 服务器等,以及动态语言指令服务是“免费的”Windows Server 角色专门用于执行他所寻找的特定任务。AD 提供了很多附加功能(复制、Kerberos、联合等),您必须使用 OpenLDAP+postgres+kerberos 等免费/OSS 解决方案自行构建。还有其他(主要是商业的)目录服务具有相似能力的。
许可可能不是问题。如果您的部署主要基于 Windows(用于计算机帐户、管理员帐户等),您可能会安装 AD,并且规模相对较小(最多看起来像 5 个用户的 CAL)。您在 LDS 中为公共用户创建的任何“用户”对象都不会计入您的 AD DS 帐户的许可证中。您可以联系Microsoft 许可来验证这一点。
使用 AD LDS 确实有一些很大的好处,您建议的安装可能是太小去实现其中的一些。
- 复制可能是 LDS 提供的头号“免费赠品”。您的 AD DS 站点和子网拓扑可用于自动管理复制,就像 AD DS 一样。但如果只有一台 LDS 服务器,您就不需要复制。
- 大多数用于备份、维护、报告等的新工具都可以与 LDS 配合使用,就像与 DS 配合使用一样。因此,如果您已经拥有一些现成的工具,那么您可能只需将它们用于您的 LDS 即可。同样,您的设置听起来太小,因此这不会带来很大的好处。
- 如果你是已经熟悉 AD DS 的维护和保养,使用 LDS 将会很熟悉,并且会建立在您已有的知识基础上。这意味着可支持性和可管理性将得到显著改善,您拥有的任何脚本知识通常都可以转移,等等。这是一个加分项。
- 再次强调,LDS 在 Windows 中是“免费”的,如果您安装了 2003/2008 服务器,则 LDS 包含在内。这也是一项福利。
- 使用 Windows Server 2008 R2,您可以获得 AD DS 代码库的所有酷炫功能(快照等)
话虽如此……如果您对 AD 没有任何特殊经验,并且没有任何特定的基础设施来处理它,那么走这条路可能不会给您带来太多好处。根据您描述的部署规模,您几乎肯定会选择 LAMP + OpenLDAP 之类的 OSS 设置,具体取决于您的舒适区和您的应用程序要求。
请记住,如果您正在进行任何类型的用户管理,那么如果您的方法只是“将一堆用户名和密码粘贴到 SQL 表中”,那么您将非常非常后悔。用户管理是一个复杂的过程,之前已经无数次解决了这个问题。除非您已经拥有丰富的安全相关编程经验,否则您不应该处理密码。请不要自己动手!
找到一个合适的商业或 OSS 框架,该框架已经设计为可以正确处理 AAA*,像 OpenID 这样的东西可能不是一个糟糕的想法。Jeff Atwood 的博客 (他经营着网站,你也许听说过……)在他的工作中有很多帖子讨论这些问题堆栈溢出和服务器故障。
无论如何,我希望这次讨论有所帮助。
答案2
您确实需要学习编程,但不需要任何 AD 实现。大多数网站在某个数据库(即 SQL)中都有自己的用户数据库,并且不依赖于 AD。