我正在用C#开发一个需要对Active Directory进行身份验证的应用程序。我使用的是Windows 7,无法在本地安装Active Directory。我无法使用Active Directory访问现有服务器(除非通过十个步骤连接到VPN)。我不想创建虚拟机来运行Windows Server。有没有什么东西可以在内存中运行并拦截AD调用以返回伪造数据?如果它还不存在,那么从理论上讲,需要什么才能做到这一点?
发布于 2012-09-10 22:59:24
我认为你最好的解决方案是安装虚拟服务器进行开发。我不建议将您的工作站加入到工作站内部的域中,但您可以使用远程调试器来调试虚拟机中的应用程序。只需在您的来宾系统上创建一个网络共享,然后配置您的调试项目以将构建输出到此目录。然后在Debug选项卡或项目属性中指定"Use remote machine“,您就可以在那里进行调试。您可能需要使用与主机相同的名称和密码创建本地管理员帐户,才能启用无缝身份验证。在这样的配置中,在虚拟客户系统中调试与在本地调试没有太大不同。
如果你只需要这样的东西来进行单元测试,或者需要从AD中解绑来进行单元测试,那么关于mocking的另一个答案是逻辑方法。
我想创建一个成熟的假的AD实现是没有意义的。
发布于 2012-09-10 22:47:53
您可以使用依赖注入,然后在单元测试中模拟Active Directory调用。
https://stackoverflow.com/questions/12354107
复制相似问题