FEBS后台权限管理系统
FEBS是一个简单高效的后台权限管理系统。项目基础框架采用全新的Java Web开发框架 —— Spring Boot2.0.4,消除了繁杂的XML配置,使得二次开发更为简单;数据访问层采用Mybatis,同时引入了通用Mapper和PageHelper插件,可快速高效的对单表进行增删改查操作,消除了大量传统XML配置SQL的代码;安全框架采用时下流行的Apache Shiro,可实现对按钮级别的权限控制;前端页面使用Bootstrap构建,主题风格为时下Google最新设计语言Material Design,并提供多套配色以供选择。FEBS意指:Fast,Easy use,Beautiful和Safe。
注:精力有限,Oracle分支于2018年8月21日停止更新并删除,如有需要可到群里获取。
功能模块
系统功能模块组成如下所示:
|-------------------------------------------|
| ______ ______ ____ _____ |
| | ____| ____| _ \ / ____| |
| | |__ | |__ | |_) | (___ |
| | __| | __| | _ < \___ \ |
| | | | |____| |_) |____) | |
| |_| |______|____/|_____/ |
| Spring-Boot-Version: 2.0.4.RELEASE |
|-------------------------------------------|
|
├─系统管理
│ ├─字典管理
│ ├─用户管理
│ ├─菜单管理
│ ├─角色管理
│ └─部门管理
├─系统监控
│ ├─在线用户
│ ├─系统日志
│ ├─Redis监控
│ └─Redis终端
│─网络资源
│ ├─One一个
│ │ ├─散文
│ │ ├─绘画
│ │ └─语文
│ ├─天气查询
│ ├─影视资讯
│ │ ├─即将上映
│ │ └─正在热映
│ └─每日一文
└─任务调度
├─定时任务
└─调度日志
技术选型
后端
-
基础框架:Spring Boot 2.0.4.RELEASE
-
持久层框架:Mybatis 3.4.5
-
安全框架:Apache Shiro 1.4.0
-
摸板引擎:Thymeleaf 3.0.9.RELEASE
-
数据库连接池:阿里巴巴Druid 1.1.10
-
缓存框架:Redis
-
日志打印:logback
-
其他:fastjson,poi,javacsv,quartz等。
前端
-
基础框架:Bootstrap 4
-
JavaScript框架:jQuery
-
消息组件:Bootstrap notify
-
提示框插件:SweetAlert2
-
树形插件:jsTree
-
树形表格插件:jqTreeGrid
-
表格插件:BootstrapTable
-
表单校验插件:jQuery-validate
-
多选下拉框插件:multiple-select
-
图表插件:Highcharts
-
时间插件:daterangepicker
开发环境
-
语言:Java 8
-
IDE:Eclipse Oxygen & IDEA 2018.1.4(Ultimate Edition)
-
依赖管理:Maven
-
数据库:MySQL5.7
-
版本管理:SVN,git
系统预览
主题预览
开发与部署
码云地址: https://gitee.com/github-16661027/project
GitHub 地址: https://github.com/wuyouzhuguli/FEBS
下载后以Maven项目的方式导入Eclipse或者IDEA。
开发时直接使用Spring Boot的入口类cc.mrbird.Application
启动即可,访问地址localhost:8080,账号mrbird,密码123456。
部署时,使用Maven将项目打包成febs.jar,然后使用命令java -jar febs.jar
启动即可。在Linux下部署Spring Boot jar,并编写启停脚本可参考链接https://mrbird.cc/Linux%20Spring-Boot-jar.html。
docker 支持
下载安装好 docker 后,用命令docker run -d -p 5000:5000 registry
拉取 registry镜像并运行,并执行mvn clean package docker:build
命令即可将应用创建到私有个人docker registry中
<dockerHost>http://<HOST yours >:2375</dockerHost>
or set DOCKER_HOST=tcp://<HOST yours >:2375
关于配置文件切换问题以及数据库加密配置
application.yml
自定义由于本地开发所用数据库并不与项目默认配置数据库链接参数相同,所以可采用在application.yml
文件中加入如下属性
spring
profiles:
active: local
然后在application.yml
同级目录建立application-local.yml
文件,里面可以自定义自己的数据库配置, 这样在spring boot启动时,优先加载 local
配置文件里的属性配置。
local
名称自定义。
jasypt 加密数据库用户名密码
在 pom.xml
中引入
<!-- jasypt-->
<dependency>
<groupId>com.github.ulisesbocchio</groupId>
<artifactId>jasypt-spring-boot-starter</artifactId>
<version>2.1.0</version>
</dependency>
在application.yml
或application-local.yml
中配置用于加密的密码
jasypt:
encryptor:
password: jyao
建立个util工具类:
public void jasyptTest() {
BasicTextEncryptor encryptor = new BasicTextEncryptor();
encryptor.setPassword("jyao");//application.yml配置的jasypt.encryptor.password
String encrypted = encryptor.encrypt("root");//要加密的数据(数据库连接的用户名或密码)
System.out.println(encrypted);
}
把生成的密钥加上 ENC(密钥),例如
ENC(YiYjVwTulDGN//YaB3KbuA==) #明文root
以上替换原来的数据库用户名或密码
常见问题
https://mrbird.cc/基于Spring Boot和Shiro的后台管理系统FEBS.html#常见问题
反馈交流
对于想通过此项目来学习Spring Boot及Shiro的同学可以结合个人Spring Boot系列教程一起学习,效果更佳https://github.com/wuyouzhuguli/Spring-Boot-Demos。
此外,也欢迎加入Q群一起探讨交流。