我们正在尝试使用 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
在典型情况下,授权绝对是聚合根,因为用户维护中的所有内容都围绕着它(例如,我可以授予用户一个或多个权限,即角色或权限)
我的问题是:角色和权限呢?它们是否也在各自不同的上下文中聚合根?(即我有三个上下文,授权、角色、权限)。虽然可以在一个上下文中组合所有内容,但角色不会太重,因为它将作为授权“对象图”的一部分加载吗?