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