重写权限系统

之前权限系统基于ColaUI和BDF2,现在其基础上进行改造

要求:
1.实现资源控制和权限控制
2.用户依据角色资源和权限,实现用户级资源和权限递减
3.资源控制主要控制页面和组件
4.权限主要控制数据层

重写部分:
角色表
角色页面表
角色页面组件表
角色权限表
用户页面表
用户页面组件表
用户权限表

角色表用于保存角色的基本信息
角色页面表用于保存该角色可查看的页面信息(基于菜单表递减)
角色页面组件表用于保存该角色可查看的页面内的组件信息(基于组件表递减)
角色权限表用于保存该角色可操作的数据信息(基于该账号所属机构现有数据的某些字段值递减)

用户页面表用于保存该用于不可看的页面信息(基于角色页面表)
用户页面组件表同上取反
用户权限表用于保存该用户可看的数据(基于角色权限表)

A表基于B表,则A表的值最大为B表的值

这些表的增删改并不是重点,重点是将设置的值接入系统

接入点:
1.用户登录后获取角色及其对应的菜单项(版本替换过程中还需保证不影响原来的权限系统)
2.点击菜单加载对应的页面信息时(页面权限判断)
3.页面加载时组件的过滤(组件权限的判断)
4.数据请求时数据的过滤(数据权限的判断)

注意:
1.页面组件及数据权限过滤时接口全都基于用户查询
2.菜单加载时需考虑对原系统的影响,避免线上系统出现问题
3.页面权限判断深入框架内部,需修改jar包实现接入;
  如没有找到接口,可暂将资源设置的结果集映射的原系统表进行替代
4.组件权限过滤已在“ColaUI组件过滤”中提出,可替换其查询路径进行接口替换
5.数据过滤基于账号所属机构,主要在Dao层进行限定

企业应用快速开发平台

JeeSite

JeeSite 是一个 Java EE 企业级快速开发平台,基于经典技术组合(Spring Boot、Spring MVC、Apache 
Shiro、MyBatis、Beetl、Bootstrap、AdminLTE),在线代码生成功能,包括核心模块如:组织机构、角色
用户、菜单及按钮授权、数据权限、系统参数、内容管理、工作流等。采用松耦合设计;界面无刷新,一键换肤;
众多账号安全设置,密码策略;在线定时任务配置;支持集群,支持SAAS;支持多数据源。

JeeSite 快速开发平台的主要目的是能够让初级的研发人员快速的开发出复杂的业务功能,让开发者注重专注业务,
其余有平台来封装技术细节,降低技术难度,从而节省人力成本,缩短项目周期,提高软件安全质量。

JeeSite 自开源以来已被广大爱好者用到了企业、政府、医疗、金融、互联网等各个领域中,JeeSite 依架构简单精良、
易于扩展、大众思维的设计模式,深入开发者的内心,并得到一致好评,于2016和2017连续两年获得开源中国《最受欢迎中
国开源软件》奖杯,期间也帮助了不少刚毕业的大学生作为入门教材,快速的去实践。

现在 JeeSite 4.0 来了,4.0的升级,作者结合了多年总结和经验,以及各方面的应用案例,对架构完成了一次全部重构,
也纳入很多新的思想。不管是从开发者模式、底层架构、逻辑处理还是到用户界面,用户交互体验上都有很大的进步,在不
忘学习成本、提高开发效率的情况下,安全方面也做和很多工作,包括:身份认证、密码策略、安全审计、日志收集。
JeeSite官网地址

另外jee系列的企业快速开发平台还有:
JeePlus
Jeecg

可通过搜索查看其部署的演示系统
例如jeecg的演示系统http://demo.jeecg.org