之前有学习了 张开涛老师 老师的作品写的一个简单的 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到本地运行。
- 克隆
git clone https://github.com/TyCoding/permission.git
-
使用IDEA打开
permission
项目,创建数据库(执行db/sys_schema.sql
)。 -
修改
application.yml
中MySQL、Redis连接信息。(如果需要七牛云另完善七牛云的信息)。 -
配置好Redis,启动Redis服务。
-
启动项目,访问
localhost:8080
直接将项目打包为jar即可:
mvn package
将target
文件夹下出现的permission-0.0.1-SNAPSHOT.jar
(重命名为permission.jar
)丢到服务器的任意位置,执行如下命令其中项目:
java -jar permission.jar &