Active directory 推荐本地LDAP存储进行开发

Active directory 推荐本地LDAP存储进行开发,active-directory,ldap,Active Directory,Ldap,我们的项目使用LDAP存储库来存储用户。在生产中,这将是Active Directory。对于发展,我们似乎有两种选择: 安装每个人都使用的AD LDS实例 在每台开发人员计算机上安装一个AD LDS实例 我们正试图让“F5”体验尽可能轻量级,因此安装东西或依靠中央广告商店不是我最喜欢的想法 还有其他LDAP服务器,如开放式LDAP。我希望有一个LDAP服务器可以简单地与XML文件通信。这将允许我们将XML文件存储在源代码管理中,并具有快速有效的功能。我们的夜间构建仍然会使用AD来获取任何差

我们的项目使用LDAP存储库来存储用户。在生产中,这将是Active Directory。对于发展,我们似乎有两种选择:

  • 安装每个人都使用的AD LDS实例
  • 在每台开发人员计算机上安装一个AD LDS实例
我们正试图让“F5”体验尽可能轻量级,因此安装东西或依靠中央广告商店不是我最喜欢的想法

还有其他LDAP服务器,如开放式LDAP。我希望有一个LDAP服务器可以简单地与XML文件通信。这将允许我们将XML文件存储在源代码管理中,并具有快速有效的功能。我们的夜间构建仍然会使用AD来获取任何差异,但希望是因为我们使用LDAP,它应该可以正常工作


您能推荐一种适用于zero config shared nothing开发的LDAP实现吗?

共享LDAP服务器是可以的,但是如果您真正的目标是LDAP而不仅仅是AD,那么您应该有多个具有不同软件的LDAP服务器。我们有用于开发和测试的测试AD和OpenLDAP虚拟服务器,并且遇到了许多小差异。在生产中,我们支持一些其他服务器,但我不知道是哪一个

但这两种方法都不容易设置和配置。对于广告,我们遇到了一些问题,因为我们需要一个测试广告,并且不希望它干扰真实的公司广告。一般来说,OpenLDAP最初设置并加载一些数据是一件痛苦的事情。我没有亲自完成这些任务,因此无法提供更多详细信息,抱歉


但一旦设置完成,它们就可以正常工作,所有开发人员和测试人员共享这两台服务器。我们使用命名约定,这样每个人都知道哪些用户是他们的,可以添加/编辑/删除,而不必互相干涉。我不认为每个开发人员都需要有自己的LDAP服务器。

AD因为LDAP有自己的细节,所以,如果需要多价的,可以在几个LDAP服务器(OpenLDAP、Apache Directory server、AD等)上进行测试

此外,生产中的广告有几个(dis)优势需要考虑:

1) 像LDAP一样运行AD是一个坏主意——它太重而且消耗资源; 2) 不要忘记广告中的用户帐户是真正的Windows帐户(即安全问题);
3) AD非常适合于多站点复制,但将解决方案迁移到其他LDAP服务器是有问题的(默认情况下,无法从AD导出密码哈希)

我将ADAM-then LDS用于一个相当大规模的站点(多个DC,数百万个主体,~1000个auth/profile-get-TPS)

在开发过程中,我们运行了一个类似DB的工程环境,这涉及到两个建议的选项:

  • 生产-分布式、稳定、版本所有、版本部署、仅产品客户端
  • 测试-分布式、稳定、测试自有、测试部署,与生产类似的硬件
  • 集成—共享、不易波动、测试自有、测试部署、与生产类似的硬件,根据周期需求构建
  • 开发-共享、易失性、测试拥有、开发人员部署。每周重新生成一次更改脚本汇总
  • 私人-个人,非常不稳定,私人拥有,私人部署。使用签入的更改脚本按需构建
  • 我们严重依赖脚本在环境之间部署、迁移模式和样本数据。有时编写脚本以提升到共享开发中有点像PITA,但它确实迫使我们在周期的早期就进入了模式和测试数据生成的源代码控制思维

    虽然这在v1中是一个相当大的开销,但在随后的版本中,它使实时系统的升级和修补变得非常自然

    在开发周期中,集成框的作用随着时间的推移而变化,在接近周期结束时携带模式的当前版本或未来版本


    这些角色可能会崩溃—取决于工程级别、集成需求和出错的后果。让我们的系统离线的成本可能高达数百万美元,这是值得的。

    与此帖子非常相似:@DarkwinDuck,这几乎是同一个问题,但不幸的是,您提到的问题没有任何投票结果或有用的答案。Microsoft是否发布了一些关于大规模部署的白皮书或幻灯片?我也有类似的需求,实现了类似的东西,但我必须用一个真实世界中的等价物来支持它。实现是microsoft.com的一部分,就像它得到的一样真实:)我们和PG谈过写论文,但没有结果——我们部署的大部分内容我们无法写。