我正在设计一个系统。
并且它必须具有代表组织的非常灵活的结构。
要求很简单:
- 拥有容器(组织单位)的层次结构
- 容器将包含其他实体(包括其他容器),实体如:
- 还需要根据结构促进许可和注册过程。
- 用户\组可以使用不同的角色\权限注册到其他容器,并且授予他们与所有其他实体具有相同角色的权限,还可以为组和日历定义管理员。
醇>
初步想法:
- 使用“Composite”设计模式表示实体:
- [[Interface]] IEntity - > int ID,string Name ...
- 每个实体都将实现相同的界面
- 容器实体将包含将引用这些实体的子项列表。
- 每个实体都将拥有一个“权限树”,它将在叶子上保存用户列表,此树将表示用户作为管理员向实体注册的角色和方式。即,如果用户通过组注册为所有者,则树将显示:所有者 - > Group1 - >用户1。
醇>
沉思:
- 每个实体都应该有自己的Delete \ Add方法吗?在接口级别定义,或者应该有一个不同的类某种“EntitiesManager”,它将处理添加编辑和删除实体的所有任务。
- 我应该如何建模我的数据库以保存权限树信息?
醇>
我会很高兴听到有关该主题的任何想法,更正,经验教训或建议。
提前致谢...