niaobulashi-一个基于springboot shrio的权限管理系统
github项目地址:https://github.com/niaobulashi/niaobulashi
在线演示
- 在线地址:http://manage.niaobulashi.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的权限管理系统的更多相关文章
- SpringBoot框架的权限管理系统
springBoot框架的权限管理系统,支持操作权限和数据权限,后端采用springBoot,MyBatis,Shiro,前端使用adminLTE,Vue.js,bootstrap-table.tre ...
- 基于云端的通用权限管理系统,SAAS服务,基于SAAS的权限管理,基于SAAS的单点登录SSO,企业单点登录,企业系统监控,企业授权认证中心
基于云端的通用权限管理系统 SAAS服务 基于SAAS的权限管理 基于SAAS的单点登录SSO 基于.Net的SSO,单点登录系统,提供SAAS服务 基于Extjs 4.2 的企业信息管理系统 基于E ...
- JAVA WEB快速入门之从编写一个基于SpringBoot+Mybatis快速创建的REST API项目了解SpringBoot、SpringMVC REST API、Mybatis等相关知识
JAVA WEB快速入门系列之前的相关文章如下:(文章全部本人[梦在旅途原创],文中内容可能部份图片.代码参照网上资源) 第一篇:JAVA WEB快速入门之环境搭建 第二篇:JAVA WEB快速入门之 ...
- 一个基于RBAC0的通用权限设计清单
注:RBAC0与RBAC1不同在于权限继承.关于RBAC1的权限设计,敬请关注作者后续CSDN博客.1,用户表 保存系统用户信息,如张三.李四,字段可以有id.name.fullname.email. ...
- 接单,开发,学习神器--基于SpringSecurity的后台权限管理系统
基于SpringSecurity--码仔后台管理系统 1.技术选项 >- 核心框架 SpringBoot >- 权限框架 SpringSecurity >- 模板引擎 Thymele ...
- 一款基于SpringBoot+SpringSecurity的后台管理系统,强烈推荐
简介 Base Admin一套简单通用的后台管理系统,主要功能有:权限管理.菜单管理.用户管理,系统设置.实时日志,API加密,以及登录用户修改密码.配置个性菜单等. 技术栈 前端:Layui 后端: ...
- 一个基于RBAC的通用权限设计清单
RBAC即角色访问控制(Role Based Access Control) RBAC认为权限授权实际上是Who.What.How的问题.在RBAC模型中,who.what.how构成了访问权限三元组 ...
- 基于 Lind.DDD 的 权限管理系统
先起个头,在跟吧 表结构 12个表 ps: sxiaomais.blog.163.com/blog/static/31741203200811102630406/ 需要数据库 文件的 附件 权限 ...
- 基于SpringBoot的在线问卷调查管理系统
注意:该项目只展示部分功能,如需了解,评论区咨询即可. 1.开发环境 开发语言:Java 后台框架:SpringBoot 前端框架:vue 数据库:MySQL 设计模式:MVC 架构:B/S 源码类型 ...
随机推荐
- node fs 文件/目录 删除
删除文件如下: 过程:先判断文件路径是否存在.读取该文件下所有文件.循环该文件,判断是否是文件夹还是文件. 移除文件夹使用fs.rmdirSync("路径") 移除文件使用fs.u ...
- 强大的 pdf 编辑器 —— Acrobat
菜单栏中的 [编辑](Edit)⇒ [编辑文本和图像](Edit Text & Images) 可以随意地编辑当前 pdf 中的文本信息,和图像信息: pdf 格式的转换,更是不在话下. 转 ...
- APP和服务端-架构设计(二)
1. App架构设计经验谈:接口的设计 App与服务器的通信接口如何设计得好,需要考虑的地方挺多的,在此根据我的一些经验做一些总结分享,旨在抛砖引玉. 1.1 安全机制的设计 现在,大部分App的接口 ...
- oracle 10g提升cluster失败
一个今天升级10g集群环境到10.2.0.5.下载补丁p8202632_10205_Linux-x86-64.zip,解压安装并运行后.中途岛错误: I/O ERROR cannt reading o ...
- 彩色图像--色彩空间 RGB系列
学习DIP第62天 转载请标明本文出处:http://blog.csdn.net/tonyshengtan ,出于尊重文章作者的劳动,转载请标明出处!文章代码已托管,欢迎共同开发:https://gi ...
- OpenGL(十九) gluOrtho2D、glViewport、glutInitWindowSize区别与关系
gluOrtho2D定义剪裁面,通过正交投影,把景物(模型)按照1:1的比例绘制到一个剪裁面上,相当于对世界坐标窗口的一个截取. glViewport定义视口,即视见窗口,是从世界坐标系窗口到屏幕坐标 ...
- krpano全球漫游相同的声音和声音添加的场景(文章内容已移至krpano中国网站)
请关注微信订阅号 krpano watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdG1ob2s=/font/5a6L5L2T/fontsize/400/f ...
- 在 DEBIAN 上安装 SQL SERVER
微软在开源 .NET Framework 之后,相继推出了跨平台的编辑器 Visual Studio Code,跨平台的 SQL Server 数据库 SQL Server vNext,Visual ...
- glibc头文件和宏定义
头文件没啥好说的,无非就是" "和< >的区别,这估计只要是学过C/C++的人都明白.现在的编译器对头文件的包含顺序没有要求,但老的C实现则不一样.当然,我们现在无需关 ...
- WPF MVVM+EF增删改查 简单示例(二) 1对1 映射
WPF MVVM+EF增删改查 简单示例(一)实现了对学生信息的管理. 现在需求发生变更,在录入学生资料的时候同时需要录入学生的图片信息,并且一名学生只能有一张图片资料.并可对学生的图片资料进行更新. ...