使用最新的SpringBoot搭建权限系统案例,包括用户管理、角色管理、菜单管理等模块。项目采用前后端分离的架构,后端使用Spring Boot + Spring Security + Spring Data Jpa + H2 + Hutool等技术实现。
学习权限系统的设计与实现,以及如何使用Spring Security进行权限控制。
本项目是一个权限系统的案例,主要包括用户管理、角色管理、菜单管理等模块。项目采用前后端分离的架构,后端使用Spring Boot + Spring Security + Spring Data Jpa + H2 + Hutool等技术实现。
登陆地址: curl -v -H "Content-Type: application/json" -X POST "localhost:8080/login" -d '{"username":"user1","password":"123456"}'
用户名 |
密码 |
权限 |
user1 |
123456 |
user |
user2 |
123456 |
user |
admin |
123456 |
admin |
├── src/main/java
│ └── com
│ └── example
│ └── example 实体、仓库、启动器、响应体
│ ├── auth
│ │ ├── auditing 审计Entity
│ ├── controller 控制器
│ ├── helper 工具集合
├── src/main/resources
字段 |
类型 |
说明 |
id |
int |
主键 |
created_by |
varchar(50) |
创建人 |
created_date |
datetime |
创建时间 |
last_modified_by |
varchar(50) |
最后修改人 |
last_modified_date |
datetime |
最后修改时间 |
deleted |
tinyint |
是否删除 0未删除 1已删除 |
字段 |
类型 |
说明 |
username |
varchar(50) |
用户名 |
password |
varchar(50) |
密码 |
字段 |
类型 |
说明 |
name |
varchar(50) |
角色名 |
字段 |
类型 |
说明 |
user_id |
int |
用户id |
role_id |
int |
角色id |
字段 |
类型 |
说明 |
name |
varchar(50) |
菜单名 |
code |
varchar(50) |
菜单编码 |
url |
varchar(50) |
菜单地址 |
type |
int |
菜单类型 1菜单 2按钮 |
sort |
int |
菜单排序 |
pid |
int |
父菜单id |
字段 |
类型 |
说明 |
role_id |
int |
角色id |
menu_id |
int |
菜单id |
git clone [email protected]:allen2fuc/spring-jpa-rbac-example.git
java -jar build/libs/spring-jpa-rbac-example-0.0.1-SNAPSHOT.jar
http://localhost:8080/user/list
- 使用最新的SpringBoot搭建权限系统案例,包括用户管理、角色管理、菜单管理等模块。
- 项目采用前后端分离的架构,后端使用Spring Boot + Spring Security + Spring Data Jpa + H2 + Hutool等技术实现。
- 使用Spring Security进行权限控制,实现了基于角色的权限控制。
- 使用H2内存数据库,不需要安装数据库,下载源码即可运行。
- 使用Hutool工具包,简化了代码的编写。
- 使用Lombok简化了实体类的编写。
- 使用Spring Data Jpa简化了数据访问层的编写。
- 使用Spring Security实现了基于角色的权限控制。