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

在线演示

PS:在线功能肯定不全的,建议大家clone到本地运行哦~
本地登录名和密码:admin/admin

欢迎大家star,fork,一起探讨学习

项目说明

  • 采用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.7、Log4j
  • 页面交互:Vue2.x

软件需求

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

本地部署

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

Linux部署

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

运行可能会遇到的问题

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

根据项目信息截图

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

欢迎一起讨论和学习

niaobulashi-一个基于springboot shrio的权限管理系统的更多相关文章

  1. SpringBoot框架的权限管理系统

    springBoot框架的权限管理系统,支持操作权限和数据权限,后端采用springBoot,MyBatis,Shiro,前端使用adminLTE,Vue.js,bootstrap-table.tre ...

  2. 基于云端的通用权限管理系统,SAAS服务,基于SAAS的权限管理,基于SAAS的单点登录SSO,企业单点登录,企业系统监控,企业授权认证中心

    基于云端的通用权限管理系统 SAAS服务 基于SAAS的权限管理 基于SAAS的单点登录SSO 基于.Net的SSO,单点登录系统,提供SAAS服务 基于Extjs 4.2 的企业信息管理系统 基于E ...

  3. JAVA WEB快速入门之从编写一个基于SpringBoot+Mybatis快速创建的REST API项目了解SpringBoot、SpringMVC REST API、Mybatis等相关知识

    JAVA WEB快速入门系列之前的相关文章如下:(文章全部本人[梦在旅途原创],文中内容可能部份图片.代码参照网上资源) 第一篇:JAVA WEB快速入门之环境搭建 第二篇:JAVA WEB快速入门之 ...

  4. 一个基于RBAC0的通用权限设计清单

    注:RBAC0与RBAC1不同在于权限继承.关于RBAC1的权限设计,敬请关注作者后续CSDN博客.1,用户表 保存系统用户信息,如张三.李四,字段可以有id.name.fullname.email. ...

  5. 接单,开发,学习神器--基于SpringSecurity的后台权限管理系统

    基于SpringSecurity--码仔后台管理系统 1.技术选项 >- 核心框架 SpringBoot >- 权限框架 SpringSecurity >- 模板引擎 Thymele ...

  6. 一款基于SpringBoot+SpringSecurity的后台管理系统,强烈推荐

    简介 Base Admin一套简单通用的后台管理系统,主要功能有:权限管理.菜单管理.用户管理,系统设置.实时日志,API加密,以及登录用户修改密码.配置个性菜单等. 技术栈 前端:Layui 后端: ...

  7. 一个基于RBAC的通用权限设计清单

    RBAC即角色访问控制(Role Based Access Control) RBAC认为权限授权实际上是Who.What.How的问题.在RBAC模型中,who.what.how构成了访问权限三元组 ...

  8. 基于 Lind.DDD 的 权限管理系统

    先起个头,在跟吧 表结构  12个表   ps: sxiaomais.blog.163.com/blog/static/31741203200811102630406/ 需要数据库 文件的 附件 权限 ...

  9. 基于SpringBoot的在线问卷调查管理系统

    注意:该项目只展示部分功能,如需了解,评论区咨询即可. 1.开发环境 开发语言:Java 后台框架:SpringBoot 前端框架:vue 数据库:MySQL 设计模式:MVC 架构:B/S 源码类型 ...

随机推荐

  1. 使用JScript脚本批量修改VC工程设置

    作者:朱金灿 来源:http://blog.csdn.net/clever101 很多时候升级了第三方库,需要对很多工程修改设置.在VS中按住Ctrl键确实可以多选工程,但通过这样做也有麻烦的地方:一 ...

  2. Retrieving data from a server

    A system includes a server and a controller embedded in a device. Both the server and the embedded c ...

  3. AutoEncoder一些实验结果,并考虑

    看之前Autoencoder什么时候,我做了一些练习这里:http://ufldl.stanford.edu/wiki/index.php/Exercise:Sparse_Autoencoder .其 ...

  4. WPF图片浏览器(显示大图、小图等)

    原文:WPF图片浏览器(显示大图.小图等) 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/wangshubo1989/article/details ...

  5. ARIES算法简介

    intro 日志顺序号(LSN) 支持物理逻辑redo.它是物理的,但在页内它可能是逻辑的. 使用脏页表来最大限度地减少恢复时不必要的重做. 使用模糊检查点机制,只记录脏页信息和相关的信息,甚至不要求 ...

  6. SharePoint 2010 WebPart Web部分 总的膏

    SharePoint 2010 WebPart Web部分 总的膏         之前写SharePoint WebPart Web部分相关的博客,我们没有做一个索引.网友在查看的时候非常不方便,于 ...

  7. AngularJS 页面计算

    <div ng-app="multipliedCaculateApp" ng-controller="multipliedCaculateController as ...

  8. C# HttpWebResponse下载限速

    在使用HttpWebResponse请求网络内容的时候,一般如下面这种方法: code 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 // 非生产环境代码,请在实际使用时进行 ...

  9. java设计模式(2)

    工厂模式定义 在面向对象程序设计中,工厂通常是用来创建其他对象的对象,工产模式根据不同的参数来实现不同的分配方案和创建对象. 在工产模式中,我们创建对象时不会对客户端暴露创建逻辑,而且是通过使用一个共 ...

  10. 分配粒度和内存页面大小(x86处理器平台的分配粒度是64K,内存页是4K,所以section都是0x1000对齐,硬盘扇区大小是512字节,所以PE文件默认文件对齐是0x200)

    分配粒度和内存页面大小 x86处理器平台的分配粒度是64K,32位CPU的内存页面大小是4K,64位是8K,保留内存地址空间总是要和分配粒度对齐.一个分配粒度里包含16个内存页面. 这是个概念,具体不 ...