之前权限系统基于ColaUI和BDF2,现在其基础上进行改造 要求: 1.实现资源控制和权限控制 2.用户依据角色资源和权限,实现用户级资源和权限递减 3.资源控制主要控制页面和组件 4.权限主要控制数据层 重写部分: 角色表 角色页面表 角色页面组件表 角色权限表 用户页面表 用户页面组件表 用户权限表 角色表用于保存角色的基本信息 角色页面表用于保存该角色可查看的页面信息(基于菜单表递减) 角色页面组件表用于保存该角色可查看的页面内的组件信息(基于组件表递减) 角色权限表用于保存该角色可操作的数据信息(基于该账号所属机构现有数据的某些字段值递减) 用户页面表用于保存该用于不可看的页面信息(基于角色页面表) 用户页面组件表同上取反 用户权限表用于保存该用户可看的数据(基于角色权限表) A表基于B表,则A表的值最大为B表的值 这些表的增删改并不是重点,重点是将设置的值接入系统 接入点: 1.用户登录后获取角色及其对应的菜单项(版本替换过程中还需保证不影响原来的权限系统) 2.点击菜单加载对应的页面信息时(页面权限判断) 3.页面加载时组件的过滤(组件权限的判断) 4.数据请求时数据的过滤(数据权限的判断) 注意: 1.页面组件及数据权限过滤时接口全都基于用户查询 2.菜单加载时需考虑对原系统的影响,避免线上系统出现问题 3.页面权限判断深入框架内部,需修改jar包实现接入; 如没有找到接口,可暂将资源设置的结果集映射的原系统表进行替代 4.组件权限过滤已在“ColaUI组件过滤”中提出,可替换其查询路径进行接口替换 5.数据过滤基于账号所属机构,主要在Dao层进行限定