Spring Boot2版的权限管理系统

本文在我的技术博客【鸟不拉屎】同步发布,详情可猛戳 亦可扫描文章末尾二维码关注我的公众号【鸟不拉屎】html

github项目地址: github.com/niaobulashi…

springboot学习地址:www.ityouknow.com/spring-boot…java

shiro学习地址:jinnianshilongnian.iteye.com/blog/201839…mysql

在线演示地址:manage.niaobulashi.comlinux

登陆名和密码:niaobulashi/niaobulashigit

项目说明

  • 采用SpringBoot、MyBatis、Shiro框架,开发的一套权限系统,极低门槛,拿来即用。设计之初,就很是注重安全性,为企业系统保驾护航,让一切都变得如此简单。
  • 提供了代码生成器,只需编写30%左右代码,其他的代码交给系统自动生成,可快速完成开发任务
  • 支持MySQL、Oracle、SQL Server、PostgreSQL等主流数据库

项目结构

niaobulashi
├─niaobulashi-admin      管理后台
│    ├─db  数据库SQL脚本
│    │ 
│    ├─modules  模块
│    │    ├─job 定时任务
│    │    ├─oss 文件存储
│    │    └─sys 系统管理(核心)
│    │ 
│    └─resources 
│        ├─mapper   MyBatis文件
│        ├─statics  静态资源
│        ├─template 系统页面
│        │    ├─modules      模块页面
│        │    ├─index.html   AdminLTE主题风格(默认主题)
│        │    └─index1.html  主题风格
│        └─application.yml   全局配置文件
├─niaobulashi-api        API服务
├─niaobulashi-common     公共模块
├─niaobulashi-dynamic-datasource     多数据源
├─niaobulashi-generator  代码生成器
│             └─resources 
│                   ├─mapper   MyBatis文件
│                   ├─template 代码生成器模板(可增长或修改相应模板)
│                   ├─application.yml    全局配置文件
│                   └─generator.properties   代码生成器,配置文件
│
复制代码

项目模块

  • niaobulashi-common为公共模块,其余模块以jar包的形式引入进去,主要提供些工具类,以及renren-admin、renren-api模块公共的entity、mapper、dao、service服务,防止一个功能重复屡次编写代码。
  • niaobulashi-admin为后台模块,也是系统的核心,用来开发后台管理系统,能够打包成jar,部署到服务器上运行,或者打包成war,放到Tomcat8.5+容器里运行。
  • niaobulashi-api为接口模块,主要是简化APP开发,如:为微信小程序、IOS、Android提供接口,拥有一套单独的用户体系,没有与renren-admin用户表共用,由于renren-admin用户表里存放的是企业内部人员帐号,具备后台管理员权限,能够登陆后台管理系统,而renren-api用户表里存放的是咱们的真实用户,不具有登陆后台管理系统的权限。renren-api主要是实现了用户注册、登陆、接口权限认证、获取登陆用户等功能,为APP接口的安全调用,提供一套优雅的解决方案,从而简化APP接口开发。
  • niaobulashi-generator为代码生成器模块,只需在MySQL数据库里,建立好表结构,就能够生成新增、修改、删除、查询、导出等操做的代码,包括entity、mapper、dao、service、controller、页面等全部代码,项目开发神器。能够做为单独的项目运行,我已经将这部分的模块移植到了niaobulashi-admin

技术选型

核心框架:Spring Boot 2.1 安全框架:Apache Shiro 1.4 视图框架:Spring MVC 5.0 持久层框架:MyBatis 3.5 定时器:Quartz 2.3 数据库链接池:Druid 1.1 日志管理:SLF4J 1.七、Log4j 页面交互:Vue2.xgithub

软件需求

  • JDK12
  • MySQL5.5+
  • Maven3.0+

本地部署

  • idea经过:github.com/niaobulashi… 进行clone到本地
  • 在项目目录:resources/db找到数据库文件,部署到本地
  • 修改配置文件application-test.yml,数据库改成本地的用户名和密码
  • 直接启动,访问:localhost:8080
  • 登陆名和密码:admin/admin

Linux部署

  • 打包成jar,在主项目niaobulashi上进行打包,mvn clean install
  • 会生成相应项目的jar包,放在Linux目标目录下,执行java -jar 包名

运行可能会遇到的问题

  • 启动可能报错,mysql严格区分大小写,可能找不到表,解决方案:mysql不区分大小写
  • 没有/tmp/spring.log目录权限,解决方案:在root用户下,添加写权限sudo chmod 777 spring.log
  • 登录页面的验证码显示乱码,缘由:linux没有安装字体,解决方案:linux安装字体

根据项目信息截图

请输入图片描述

请输入图片描述

请输入图片描述

请输入图片描述

请输入图片描述

请输入图片描述

ps:日报管理模块没有实际功能,只是个菜单而已,后期进行维护spring

欢迎一块儿讨论和学习sql


公众号:鸟不拉屎数据库

相关文章
相关标签/搜索