如何将Active Directory对象(用户,组等)集成到DDD .NET应用程序中?您的存储库是什么样的,您如何处理LDAP会话,事务和工作单元?请注意,我不是在讨论简单的身份验证/授权方案,而是在AD对象是应用程序核心域模型的一部分时。
我正在开发一个为AD用户配置/取消配置的应用程序,我很好奇其他人正在做什么来将AD对象引入他们的DDD应用程序。我想你并没有在你的应用程序中拖动DirectoryEntry对象,但我没有找到任何好的ORM类型的LDAP对象工具(可能是OLM - 对象 - LDAP映射?)。
编辑:有关该问题的更多背景信息位于Sharp Architecture项目的this forum post中。
答案 0 :(得分:5)
我的看法是LDAP是我的持久层。因此,我的域模型全部由特定于我的应用程序的对象组成,而不是特定于AD。然后我的存储库实现是所有AD特定的东西,获取我的对象并将它们映射到AD对象等等。我实际上为域聚合构建了基础的IRepository,然后是IUserRepository等。然后将实现命名为ADUserRepository。
我发现这是管理这一切并保持思绪的最简单方法;它还使测试更容易我正在做的事情(不确定它会帮助你的应用程序)。
我不知道你可以使用的任何OLM(好词)工具;我刚刚手动映射它,因为我真的只对AD中的一部分感兴趣。