Как интегрировать Active Directory в приложение .NET с помощью DDD? - PullRequest
10 голосов
/ 02 апреля 2009

Как вы интегрируете объекты Active Directory (пользователи, группы и т. Д.) В свое приложение DDD .NET? Как выглядят ваши репозитории и как вы обрабатываете сеансы LDAP, транзакции и единицу работы? Обратите внимание, что я говорю не о простых сценариях аутентификации / авторизации, а о том, когда объекты AD являются частью модели основного домена вашего приложения.

Я работаю над приложением, которое обеспечивает инициализацию / удаление пользователей AD, и мне любопытно, что делают другие люди для переноса объектов AD в свое приложение DDD. Я предполагаю, что вы не перетаскиваете объект DirectoryEntry по всему приложению, но я не нашел хороших инструментов типа ORM для объектов LDAP (может быть, OLM - Object-LDAP Mapping?).

РЕДАКТИРОВАТЬ: дополнительная справочная информация по этому вопросу находится в этом сообщении на форуме из проекта Sharp Architecture.

1 Ответ

5 голосов
/ 09 апреля 2009

Я делаю нечто подобное, на самом деле. Не та же цель, но факт использования DDD для создания приложения, которое работает с AD.

Я считаю, что LDAP - это мой уровень персистентности. Таким образом, моя модель предметной области состоит из объектов, относящихся к моему приложению, а не только к AD. В этом случае моя реализация репозитория - это все специфичные для AD вещи, беря мои объекты и отображая их в объекты AD и так далее. На самом деле я создал IRepository для базы, а затем IUserRepository и т. Д., Как необходимо для агрегатов домена. Реализации тогда названы как ADUserRepository.

Я считаю, что это самый простой способ справиться со всем этим и сохранить свои мысли; это также облегчает тестирование того, что я делаю (не уверен, что это поможет с вашим приложением).

Я не знаю ни одного инструмента OLM (хороший термин), который вы могли бы использовать; Я только что отобразил это вручную, так как мне действительно интересно только подмножество того, что AD имеет в этом.

...