DDDの原則を使用して、RBACベースのユーザー保守システムをモデル化しようとしています。次のエンティティを特定しました。
Authorization is an Aggregate Root with the following:
User (an entity object)
List<Authority> (list of value objects)
Authority contains the following value objects:
AuthorityType (base class of classes Role and Permission)
effectiveDate
Role contains a List<Permission>
Permission has code and description attributes
典型的なシナリオでは、ユーザーメンテナンスのすべてがそれを中心に展開するため、承認は間違いなく集約ルートです(たとえば、ユーザーに役割または権限のいずれかである1つ以上の権限を付与できます)
私の質問は:役割と許可はどうですか?それらはまた、それら自身の別々のコンテキストでルートを集約しますか?(つまり、承認、役割、許可の3つのコンテキストがあります)。すべてを1つのコンテキストで組み合わせることができますが、役割は承認の「オブジェクトグラフ」の一部として読み込まれるため、重すぎるのではないでしょうか。