在开发/测试环境中模拟 Active Directory 登录

Posted

技术标签:

【中文标题】在开发/测试环境中模拟 Active Directory 登录【英文标题】:Simulating an Active Directory Login in Dev/Test Environment 【发布时间】:2011-01-09 16:43:58 【问题描述】:

目前正在构建一个 WPF 应用程序,该应用程序将在用户登录到域 (DC) 上的 Windows PC 的环境中运行。该应用程序将在启动时要求用户再次输入他们的登录名和密码,并且登录名/密码将根据 Active Directory 进行验证(如果我的术语在这里不正确,请原谅我)。

登录是全有或全无;如果他们的密码正确,则(当前)无需担心检索组、权限或任何类似性质的内容。

开发环境不是基于 AD 的,也不在域上。是否有任何选项可以模拟这种登录,而无需通过设置域控制器和向其中添加开发和测试环境机器的过程?

在项目过程中会有一些机会进行部署测试(IOW 创建一个测试登录应用程序,将其部署给用户并确保在最终部署之前登录工作正常)。同时,我需要使用在测试/开发环境中工作的某种排序实现。

有什么想法吗?你会建议反对模拟这个来代替建立 DC 吗?

【问题讨论】:

【参考方案1】:

使用ADAM(Windows Server 2003 Active Directory 应用模式)

对于需要 对启用目录的灵活支持 应用程序,微软已经开发 活动目录应用模式 (亚当)。 ADAM 是轻量级的 目录访问协议 (LDAP) 以用户身份运行的目录服务 服务,而不是作为一个系统 服务。活动目录应用程序 模式代表了一种突破 目录服务技术 提供灵活性和帮助 组织避免增加 基础设施成本。

也就是说,Microsoft 提供的免费 AD 服务器,您可以在桌面上运行。

【讨论】:

+1 在您的机器上作为 NT 服务运行的 AD 服务器 - 甚至可以同时使用多个实例!【参考方案2】:

如果您使用的是 Windows 8,则可以转到添加/删除 Windows 功能并检查 AD LDS。完成配置后,运行 mmc 并添加 ADSI Edit。它默认为网络上的域控制器,您可以填充自己的 AD 实例。

【讨论】:

以上是关于在开发/测试环境中模拟 Active Directory 登录的主要内容,如果未能解决你的问题,请参考以下文章

如何管理在开发(而非测试)环境中使用多个微服务并对其进行模拟?

spring程序打包war,直接通过-jar启动,并指定spring.profiles.active参数控制多环境配置

使用 spring.profiles.active来区分配置

.NET 中的 Direct Line API 示例

SpringBoot多个yml实现开发测试线上多环境

如何在 Windows 中模拟/测试 Java 程序的大型机文件 I/O (JZOS)?