
1、多租户框架的系统基础模块设计一个基础的系统往往需要包含基础的相关模块内容多租户系统框架下也需要这些如用户、角色、机构、岗位、权限、菜单、日志登录日志、操作日志、通用字典等内容多租户/账套还需要额外一个多租户/账套信息的管理如下模块分类所示。有了相关的业务分类我们通过PowerDesigner设计工具对数据库进行建模。具体的系统开发过程有兴趣可以参考随笔《多租户下的系统业务开发过程探讨》进行了解。其中菜单是我们系统界面登录后动态展示的可用菜单。如下为BS端所示的界面。而菜单是根据不同用户的身份进行区分的系统角色分为超级管理员、租户管理员、一般租户人员等不同角色人员。菜单使用分级制如租户级的菜单由超级管理员分配部分系统菜单而租户的角色人员根据租户的菜单集合进行二级分配这样确保不同租户拥有的菜单不一定相同。用户的用例分析如下所示。系统的菜单由超级管理员维护定义相关的基础资源。菜单的管理用例如下所示。系统菜单的定义和管理页面如下所示。为了建立菜单和权限的关联管理关系我们为对应的菜单添加关联权限点的操作对对于用户管理的菜单和权限点关系如下所示。系统功能权限是控制用户访问某些按钮或者资源的权限点一般为树型结构展示每个功能点对应一个功能编码和菜单一样是系统资源须由超级管理员维护如下界面所示。有了这些准备系统的租户角色分配菜单和权限就可以一并组合处理了如下所示。