Initial commit: Freedom Admin 权限管理系统
This commit is contained in:
+226
@@ -0,0 +1,226 @@
|
||||
# Freedom Admin 管理系统架构流程图
|
||||
|
||||
## 系统架构概览
|
||||
|
||||
```mermaid
|
||||
graph TB
|
||||
A[前端界面] -->|HTTP请求| B[Spring Boot 应用服务器]
|
||||
B --> C[Spring Security]
|
||||
B --> D[Spring MVC]
|
||||
B --> E[Thymeleaf 模板引擎]
|
||||
|
||||
C --> F[JWT 认证]
|
||||
C --> G[权限控制]
|
||||
|
||||
D --> H[Controller 层]
|
||||
H --> I[Service 层]
|
||||
I --> J[Mapper 层]
|
||||
J --> K[MyBatis-Plus]
|
||||
|
||||
E --> L[页面渲染]
|
||||
|
||||
K --> M[MySQL 数据库]
|
||||
B --> N[邮件服务]
|
||||
N --> O[SMTP 服务器]
|
||||
|
||||
B --> P[代码生成器]
|
||||
P --> Q[Beetl 模板引擎]
|
||||
```
|
||||
|
||||
## 详细架构流程
|
||||
|
||||
### 1. 用户访问流程
|
||||
|
||||
```mermaid
|
||||
sequenceDiagram
|
||||
participant U as 用户
|
||||
participant F as 前端界面
|
||||
participant GW as 安全网关
|
||||
participant C as Controller
|
||||
participant S as Service
|
||||
participant D as 数据库
|
||||
|
||||
U->>F: 访问系统
|
||||
F->>GW: HTTP请求
|
||||
GW->>GW: JWT认证检查
|
||||
GW->>C: 路由到对应Controller
|
||||
C->>S: 调用业务逻辑
|
||||
S->>D: 数据库操作
|
||||
D->>S: 返回数据
|
||||
S->>C: 业务处理结果
|
||||
C->>F: 返回响应数据
|
||||
F->>U: 页面渲染展示
|
||||
```
|
||||
|
||||
### 2. 安全认证流程
|
||||
|
||||
```mermaid
|
||||
flowchart TD
|
||||
Start[用户登录] --> Input[输入用户名密码]
|
||||
Input --> Validate{格式验证}
|
||||
Validate -->|格式错误| Error1[返回错误信息]
|
||||
Validate -->|格式正确| Auth[Spring Security认证]
|
||||
Auth --> DB[查询数据库验证]
|
||||
DB -->|验证失败| Error2[认证失败]
|
||||
DB -->|验证成功| JWT[生成JWT Token]
|
||||
JWT --> Success[登录成功]
|
||||
Success --> SetToken[设置Token到响应头]
|
||||
SetToken --> Redirect[重定向到首页]
|
||||
```
|
||||
|
||||
### 3. 请求处理流程
|
||||
|
||||
```mermaid
|
||||
graph LR
|
||||
A[HTTP请求] --> B[DispatcherServlet]
|
||||
B --> C[HandlerMapping]
|
||||
C --> D[Controller]
|
||||
D --> E[Service]
|
||||
E --> F[Mapper/MyBatis-Plus]
|
||||
F --> G[MySQL数据库]
|
||||
G --> F
|
||||
F --> E
|
||||
E --> D
|
||||
D --> H[ViewResolver]
|
||||
H --> I[Thymeleaf模板]
|
||||
I --> J[HTTP响应]
|
||||
```
|
||||
|
||||
### 4. 数据流架构
|
||||
|
||||
```mermaid
|
||||
graph TD
|
||||
A[前端UI层] -->|JSON/Form Data| B[Controller控制层]
|
||||
B -->|Service接口| C[Service业务层]
|
||||
C -->|Mapper接口| D[数据访问层]
|
||||
D -->|SQL映射| E[MySQL数据库]
|
||||
|
||||
F[代码生成器] -->|Beetl模板| G[生成代码文件]
|
||||
G --> H[Controller/Service/Entity]
|
||||
|
||||
I[邮件服务] -->|SMTP协议| J[邮件服务器]
|
||||
```
|
||||
|
||||
## 核心组件架构
|
||||
|
||||
### 1. 认证授权架构
|
||||
|
||||
```mermaid
|
||||
graph TB
|
||||
subgraph "安全认证模块"
|
||||
A[JWT认证过滤器] --> B[Spring Security]
|
||||
B --> C[UserDetailsService]
|
||||
C --> D[密码加密器]
|
||||
B --> E[权限决策器]
|
||||
E --> F[角色权限映射]
|
||||
end
|
||||
|
||||
subgraph "数据库层"
|
||||
G[用户表] --> H[角色表]
|
||||
H --> I[权限表]
|
||||
G --> J[用户角色关联]
|
||||
H --> K[角色权限关联]
|
||||
end
|
||||
|
||||
A --> G
|
||||
E --> I
|
||||
```
|
||||
|
||||
### 2. 业务模块架构
|
||||
|
||||
```mermaid
|
||||
graph LR
|
||||
subgraph "用户管理模块"
|
||||
A1[用户注册] --> A2[用户登录]
|
||||
A2 --> A3[权限管理]
|
||||
A3 --> A4[个人信息]
|
||||
end
|
||||
|
||||
subgraph "代码生成模块"
|
||||
B1[模板管理] --> B2[代码生成]
|
||||
B2 --> B3[文件输出]
|
||||
end
|
||||
|
||||
subgraph "邮件服务模块"
|
||||
C1[邮件模板] --> C2[邮件发送]
|
||||
C2 --> C3[发送记录]
|
||||
end
|
||||
|
||||
subgraph "数据管理模块"
|
||||
D1[部门管理] --> D2[活动管理]
|
||||
D2 --> D3[药品管理]
|
||||
D3 --> D4[订单管理]
|
||||
end
|
||||
```
|
||||
|
||||
### 3. 技术栈架构
|
||||
|
||||
```mermaid
|
||||
graph TB
|
||||
subgraph "前端技术栈"
|
||||
A1[HTML5] --> A2[CSS3]
|
||||
A2 --> A3[JavaScript]
|
||||
A3 --> A4[Thymeleaf]
|
||||
end
|
||||
|
||||
subgraph "后端技术栈"
|
||||
B1[Spring Boot 2.7.10] --> B2[Spring Security]
|
||||
B2 --> B3[MyBatis-Plus]
|
||||
B3 --> B4[HikariCP]
|
||||
end
|
||||
|
||||
subgraph "安全技术栈"
|
||||
C1[JWT Token] --> C2[BCrypt加密]
|
||||
C2 --> C3[权限控制]
|
||||
end
|
||||
|
||||
subgraph "工具技术栈"
|
||||
D1[Beetl模板] --> D2[邮件服务]
|
||||
D2 --> D3[代码生成]
|
||||
end
|
||||
|
||||
A4 --> B1
|
||||
B4 --> C1
|
||||
D3 --> B1
|
||||
```
|
||||
|
||||
## 部署架构
|
||||
|
||||
```mermaid
|
||||
graph TB
|
||||
subgraph "应用服务器"
|
||||
A[Spring Boot应用] --> B[Tomcat容器]
|
||||
B --> C[JVM运行时]
|
||||
end
|
||||
|
||||
subgraph "数据库服务器"
|
||||
D[MySQL 8.0] --> E[数据存储]
|
||||
E --> F[连接池]
|
||||
end
|
||||
|
||||
subgraph "外部服务"
|
||||
G[邮件服务器] --> H[SMTP服务]
|
||||
I[前端资源] --> J[静态文件]
|
||||
end
|
||||
|
||||
A --> D
|
||||
A --> G
|
||||
A --> I
|
||||
```
|
||||
|
||||
## 配置文件架构
|
||||
|
||||
```mermaid
|
||||
graph LR
|
||||
A[application.yml] --> B[数据源配置]
|
||||
A --> C[安全配置]
|
||||
A --> D[邮件配置]
|
||||
A --> E[MyBatis配置]
|
||||
|
||||
B --> F[数据库连接]
|
||||
C --> G[JWT参数]
|
||||
D --> H[SMTP设置]
|
||||
E --> I[映射配置]
|
||||
```
|
||||
|
||||
这个架构流程图展示了 Freedom Admin 管理系统的完整技术架构和业务流程,包括前端到后端的完整请求处理流程、安全认证机制、模块化设计以及技术栈构成。
|
||||
Reference in New Issue
Block a user