Это беспокойство команды? Я имею в виду, что проверка безопасности естественно вписывается в домен? Когда команда имеет одно и то же намерение во всем ограниченном контексте, тогда я думаю, что соответствующий совокупный корень должен обеспечить ее достоверность в определенном контексте.
Сценарий, который вы упомянули, звучит для меня как бизнес-правила, а не просто проверка прав. Поэтому я бы поставил чек на уровне домена как часть AR.
Я бы также проверил на уровне инфраструктуры, может ли пользователь выполнить команду, но это изящно обрабатывает отказ. Как то так
var ar=repository.Get(id);
if (ar.CanAddMoney(User,amount)) ar.AddMoney(amount,User)
else handleForbiddenAction();
Конечно, это очень расплывчатое решение смутной проблемы. Это так сильно зависит от сложности домена, что я думаю, что единственный правильный ответ: «это зависит».
Фактически, чтобы ответить непосредственно на заголовок, безопасность в DDD выражается в качестве допустимой модели.