序言
这套Base Admin是两套单纯通用型的前台信息系统,主要就机能有:职权管理工作、工具栏管理工作、使用者管理工作,系统增设、动态笔记,动态监视,API身份验证,和登入使用者修正公钥、实用性性格工具栏等。
控制技术栈
后端:layui
java后端:SpringBoot + Thymeleaf + WebSocket + Spring Security + SpringData-Jpa + MySql
工程建设内部结构表明
java部份、html、js、css部份都是大产品目录上面按皮夏涅两个LBA放置
运转自动更新
效用一睹为快,具体内容如是说在上方,按机能点展开详细情况如是说
机能模拟
登入
(为的是方便快捷模拟,公钥快捷方式的类别换成text)命令行组成部分优先选择,dev自然环境无须输出接收者。
同时支持多种登入限制。
允许/禁止账号多人在线。
软删除
限制登入IP地址
账号过期
更多登入限制,还可以继续扩展。
系统增设
一下单纯的系统属性增设,想支持更多的实用性可自行扩展(比如这里的:使用者管理初始、重置公钥)。
系统增设新增部份机能,详见文末“补充更新”
工具栏管理工作
工具栏管理工作是一棵layui的Tree
职权管理工作
增删改查
动态职权加载
职权的加载并不是写死在代码,而是动态从数据库读取,每次调用save方法时更新职权集合。
1、妲己是ROLE_USER职权,职权内容为空,无权访问/sys/上面的路径(http://localhost:8888/sys/sysUser/get/1)
2、使用sa超级管理工作员进行职权管理工作编辑,给ROLE_USER的职权内容添加 /sys/**,妲己立即有职权访问(http://localhost:8888/sys/sysUser/get/1)
使用者管理工作
主要就包括使用者信息、登入限制的维护,工具栏、职权的分配等。
修正使用者职权是下一次登入生效。
修正使用者工具栏是刷新系统即可生效。
使用者管理工作新增“当前在线使用者”管理工作,详见文末“补充更新”
登入使用者信息
基本信息
登入使用者只能修正部份信息,例如名称、修正公钥
修正公钥
公钥使用的是MD5身份验证并转换为16进制字符串存储,使用者除了能主动修正公钥外,还能叫管理工作员重置公钥。
性格工具栏
使用者可以自行实用性自己的性格化快捷工具栏。
动态笔记
使用websocket,动态将笔记输出到web页面,1秒刷新一次。
注意:这里的笔记实用性只实用性了dev自然环境,prod自然环境尚未为空,发布生产自然环境前记得先实用性,否则生成的笔记文件将不会输出笔记内容!
动态监视
动态监视的是系统硬件自然环境、和jvm运转时内存,注:因本人暂无Linux自然环境,所以只测试了windows自然环境,有问题请及时反馈,谢谢!
使用websocket,动态将数据输出到web页面,1秒刷新一次。
API身份验证请求参数身份验证
响应数据身份验证
1、系统增设新增API身份验证开关,可一键关闭、开启API身份验证;
开启API身份验证
关闭API身份验证
关键点讲解
1、定制url访问职权,动态职权读取,需要自定义实用性认证数据源、认证管理工作器、拦截器,详细情况步骤请参考:https://www.jianshu.com/p/0a06496e75ea;
2、API身份验证中,由于登入校验是Spring Security做的,因此我们要在UsernamePasswordAuthtchaFilterConfig展开解密操作,解密后new两个自定义RequestWrapper增设Parameter,并将这个新对象传到doFilter交由下一步处理。
3、还是API身份验证问题,我们是面就可以了(已提交最新代码,解决热部署后刷新页面还是API加解密失败问题;现在热部署后刷新页面即可)
4、好多人都不知道,项目有工具类CodeDOM.java可以生成两套皮夏涅的完备增删改查前台代码。
实用性好数据库,指定代码生成父位置。
运转main函数即可一键生成两套皮夏涅增删改查前台代码。
后记
这个只是两个比较单纯通用型的前台系统,如果加入工作流,就可以升级成基础平台,为简化业务开发,将部份通用型系统机能整理成独立项目,具体内容业务机能通过iframe嵌入。
1、新增百度富文本的使用。
对应字段类别,mysql要换成longtext
2、新增“”记住我“”机能,也就是rememberMe,原理和源码探究请看这位大佬的博客:https://blog.csdn.net/qq_37142346/article/details/80114609
需要新增一张表,SQL文件我也和更新了。
4、系统增设新增系统颜色,头部、左侧工具栏的颜色可按心情切换(SQL文件已同步更新)
5、使用者管理工作模块新增“当前在线使用者”管理工作,可动态查看当前在线使用者,和对当前在线使用者展开强制下线操作。