/permission

:rocket: 一个基于SpringBoot2+Shiro的权限管理系统,采用Vue+ElementUI前端框架,支持动态路由、Redis监控、日志监控、七牛云储存等,欢迎start, fork

Primary LanguageJavaScript

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本项目就来自学习了大神的项目后把自己理解的部分(加上自己的代码风格、思路)写了出来。欢迎大家学习这个项目,相信对大家的学习很有帮助。

功能模块

├─项目文档(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. 克隆
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

服务器部署:

直接将项目打包为jar即可:

mvn package

target文件夹下出现的permission-0.0.1-SNAPSHOT.jar(重命名为permission.jar)丢到服务器的任意位置,执行如下命令其中项目:

java -jar permission.jar &

项目截图