如何使用DDD将Active Directory集成到.NET应用程序中?

时间:2009-04-02 19:44:47

标签: .net active-directory domain-driven-design s#arp-architecture

如何将Active Directory对象(用户,组等)集成到DDD .NET应用程序中?您的存储库是什么样的,您如何处理LDAP会话,事务和工作单元?请注意,我不是在讨论简单的身份验证/授权方案,而是在AD对象是应用程序核心域模型的一部分时。

我正在开发一个为AD用户配置/取消配置的应用程序,我很好奇其他人正在做什么来将AD对象引入他们的DDD应用程序。我想你并没有在你的应用程序中拖动DirectoryEntry对象,但我没有找到任何好的ORM类型的LDAP对象工具(可能是OLM - 对象 - LDAP映射?)。

编辑:有关该问题的更多背景信息位于Sharp Architecture项目的this forum post中。

1 个答案:

答案 0 :(得分:5)

实际上,我正在做类似的事情。不是同一个目标,而是使用DDD构建一个适用于AD的应用程序。

我的看法是LDAP是我的持久层。因此,我的域模型全部由特定于我的应用程序的对象组成,而不是特定于AD。然后我的存储库实现是所有AD特定的东西,获取我的对象并将它们映射到AD对象等等。我实际上为域聚合构建了基础的IRepository,然后是IUserRepository等。然后将实现命名为ADUserRepository。

我发现这是管理这一切并保持思绪的最简单方法;它还使测试更容易我正在做的事情(不确定它会帮助你的应用程序)。

我不知道你可以使用的任何OLM(好词)工具;我刚刚手动映射它,因为我真的只对AD中的一部分感兴趣。