我正在开发一个项目,系统的某些部分依赖于Active Directory。但是,我在客户办公室,我无法访问他们的AD(繁文缛节)。
我开发时有没有办法模拟AD?
我正在开发C#和.NET
答案 0 :(得分:6)
我们的服务需要在AD中查询用户组和电子邮件地址
然后,另一个选择是使用存储库模式实现AD访问,并且至少具有两个实现。
public interface IRepository
{
IEnumerable<Something> GetUsers();
}
public class ActiveDirectoryRepository : IRepository ...
public class AnotherRepository : IRepository ...
通过这种方式,您可以在部署时轻松切换到所需的实现 - 您可以针对数据库,xmlfiles,内存进行开发,除了已部署的应用程序与AD进行通信之外的任何内容 - 因为您针对存储库接口进行编码,您只需重新配置应用程序和代码中有ZERO更改。
答案 1 :(得分:3)
您可以使用Active Directory轻量级目录服务(以前称为ADAM)。这允许您设置多用户AD环境。
答案 2 :(得分:0)
这就是“专业”和“发展环境”的来源。
客户端必须有一个独立的开发环境,使用AD服务器等。这是虚拟化非常方便的地方,可以设置一些小型低功耗虚拟机来运行AD和所有其他所需服务。
拥有一个(或多个)独立的网络,隔离,具有不同的域,并使用它们进行开发。
标准做法。