Permission - 一个基于SpringBoot2+Shiro的权限管理系统

仓库源码地址:https://github.com/TyCoding/permission

之前有学习了 张开涛老师 老师的作品写的一个简单的 Shiro入门级权限管理项目,但由于一些原因感觉学习的不够深入,最近仔细拜读了 wuyouzhuguli 大神的作品,学习到了很多,顾写下此项目实战练习。

欢迎大家clone下来学习,如果可以,希望能点亮右上角star, fork,给作者一些鼓励

线上地址: http://39.105.46.235:8083/login

用户名 密码 备注
admin 123456 管理员,拥有所有权限
tycoding 123456 测试账号,可查看所有页面,但无操作权限
tumo 123456 用户管理员

致谢

可以说本项目仅是一个学习的项目,非常感谢这位大神的作品:https://github.com/wuyouzhuguli/FEBS-Shiro本项目就来自学习了大神的项目后把自己理解的部分(加上自己的代码风格、思路)写了出来。欢迎大家学习这个项目,相信对大家的学习很有帮助。

功能模块

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
├─项目文档(Swagger2.0)
├─系统管理
│ ├─用户管理
│ ├─角色管理
│ ├─菜单管理
│ └─部门管理
├─系统监控
│ ├─在线用户
│ ├─登录日志
│ ├─系统日志
│ ├─Redis监控
│ └─Druid监控
├─对象储存
│ ├─七牛云
│─网络资源
│ ├─天气查询
│ └─影视资讯

文档

技术选型

后端

  • 基础框架: Spring Boot 2.1.2.RELEASE

  • 持久层框架: MyBatis 3.4.6

  • 权限框架: Shiro 1.4.0

  • 模板引擎: Thymeleaf 3.0.11.RELEASE

  • 缓存框架: Redis

  • 其他: Swagger2、七牛云、Mybatis通用Mapper、druid、Logback、fastjson、pageHelper

前端

  • 基础框架: ElementUI

  • JavaScript插件: Vue.js

开发环境

  • 语言: JDK1.8

  • IDE: IDEA 2018.3

  • 依赖管理: Maven

  • 数据库: Mysql 5.7.24

写在前面

如果你看到技术选型可能会疑问前面完全依赖Vue.js,为何还是HTML页面?没错,前端是完全依赖Vue.js的,整个项目都没有用到JQuery。如果你学过Vue肯定熟悉NPM,Vue官方也推荐使用NPM开发,但为了更方便部署学习,这里使用HTML + Thymeleaf 解析页面。

虽然用了Thymeleaf,但也仅是用来解析页面视图地址,并没有在数据层用到Thymeleaf,所有的数据都依赖vue-resource异步获取,我以一张简单的图来解释项目交互流程:

部署

由于一些原因,线上地址部署的项目不太完美,请clone到本地运行。

  1. 克隆
1
git clone https://github.com/TyCoding/permission.git
  1. 使用IDEA打开permission项目,创建数据库(执行db/sys_schema.sql)。

  2. 修改application.yml中MySQL、Redis连接信息。(如果需要七牛云另完善七牛云的信息)。

  3. 配置好Redis,启动Redis服务。

  4. 启动项目,访问localhost:8080

  5. 更多的文档后续补充…

项目截图


交流

以上仅是个人的见解,可能有些地方是错误的,深知自己的菜鸡技术,欢迎大佬指出。

个人建了一个Java交流群:671017003。 欢迎大佬或是新人入驻一起交流学习Java技术。


联系

If you have some questions after you see this article, you can contact me or you can find some info by clicking these links.

如果你觉得这篇文章帮助到了你,你可以帮作者买一杯果汁表示鼓励