Axia — open-source веб-консоль для Active Directory и OpenLDAP на .NET 10. Начиналась она с учебного DDD: агрегаты, доменные события, MediatR. После нескольких ревью безопасности от этого осталась половина. Главная причина: данные принадлежат каталогу, а не нам, и агрегат User с инвариантами оказался фикцией. Рассказываю, что окупилось (value objects, порты и адаптеры, тесты на границы слоёв), что пришлось выкинуть (аудит на доменных событиях) и почему самое важное правило безопасности так и не поместилось в домен. Читать далее