springboot-security-project
基于springboot2
+ springsecurity
+ mybatis
+ redis
+ swagger
+ oauth2
的脚手架工程(前后端分离)
- 配置了mybatis的通用mapper,单表操作无需写SQL,实现了批量插入、批量删除等功能。
- 内含freemarker的代码生成器,可以一键根据表名直接生成controller、service、dao、mapper等基础代码, 大大提高了开发效率,让你更专注于对业务的开发。
- spring-security目前使用的是基于权限的动态校验,采用黑名单的方式对接口权限的判断。
- 框架内已包含许多工具类,MD5加密、json、POI的excel文档操作,以及时间和日期等常见工具类。
- 采用了@Log对项目日志的记录。
- 接口文档地址:http://localhost:9999/doc.html (采用knife4j的文档风格)
- 加入对OAuth2的支持,这部分代码目前已迁移到oauth2分支 (博客地址)
依赖 | 版本 |
---|---|
Spring Boot | 2.1.8.RELEASE |
Spring Web MVC | 5.1.9.RELEASE |
Spring Security Web | 5.1.5.RELEASE |
MyBatis | 4.1.5 |
通用mapper | 2.1.5 |
Druid | 1.1.21 |
启动步骤
- 创建数据库boot2-oauth, 执行web模块下resources/sql/init.sql文件
- 使用postman测试登录接口 /login POST 方式 ,本项目返回均是JSON字符串,重定向到登录页面,需要前端做处理,若想要后端直接重定向到登录页面的话,需要配置WebSecurityConfig中引入的那几个Handler,将里面返回的json值改为重定向到登录页面即可。
温馨提示
- 可根据项目需要自定义
backend/src/test/resources/generator/template/**
目录下的模板文件 - 定义好表结构后,配置
backend/src/test/java/CodeGenerator.java
这个文件,运行即可生成项目的基础代码
完成模块
- 用户管理
- 用户的CRUD
- 在线用户数量统计
- 角色管理
- 角色的CRUD
- 角色权限树
- 权限管理
- 权限的CRUD
- 日志管理
- 日志的CRUD