如何伪造Active Directory?

我正在使用C#开发一个需要针对Active Directory进行身份validation的应用程序。 我有Windows 7,无法在本地安装Active Directory。 我无权访问具有Active Directory的现有服务器(通过连接到VPN的十个步骤除外)。 我宁愿不创建运行Windows Server的虚拟机。 有没有可能在内存中运行并拦截AD调用以返回伪造数据? 如果它不存在,从理论上讲,将它拉下来需要什么?

您可以使用dependency injection,然后在unit testing中模拟Active Directory调用。

我认为您最好的解决方案是安装虚拟服务器进行开发。 我不建议您将工作站加入工作站内的域,但可以使用远程调试器来调试虚拟机内的应用程序。 只需在guest虚拟机上创建网络共享,然后配置调试项目以将构建输出到此目录中。 然后在“调试”选项卡或项目属性中指定“使用远程计算机”,您就可以在那里进行调试。 您可能需要使用与主机相同的名称和密码创建本地管理员帐户,以启用无缝身份validation。 在这种配置中,虚拟客户系统中的调试与本地调试没有太大区别。

如果你只需要这样的东西进行unit testing,或者需要从AD解除绑定以进行unit testing,那么关于模拟的另一个答案就是逻辑方法。

我想创建一个完整的虚假AD实现是没有意义的。

您还可以使用Azure上托管的此AD服务器进行测试和开发:

https://documize.github.io/ad-ldap-test-server