### 1. 架構預覽

大家可以看到單機版的前后分離RBAC系統主要包括
- 客戶端(PC、IOS、安卓、小程序、H5)
- Nginx反向代理
- 后端服務(Security鑒權、Restful接口、服務層)
很好的理解為一個普通的單機服務重點在于安全權限這一塊其他的沒什么了
### 2.技術棧

所用到的技術棧都是最常使用的
#### 前端:
- Vue + vue-cli + Vue-Router + vuex + axios
- vue-cli:搭建基本的vue項目骨架,腳手架工具
- vuex:管理復雜的數據流向,狀態機工具,特化的Flux
- vue-router:實現SPA間“頁面”之間的跳轉
- axios:http工具,實現向API請求數據,以及攔截器的實現
#### 后端:
- 基于 Spring Boot 2.2.2 、Spring Security 的RBAC權限管理系統
- 基于 Vue UI框架 Element-ui組件開發
- 基于 Mybatis Plus 簡化開發、數據隔離等
- 項目均使用 Lambda 、Stream Api 的風格編碼
- 基于 Spring Social 的第三方社交登錄無縫對接spring security
- 基于ELK+filebeat實現日志管理系統
### 3. 系統概要
#### 3.1.權限管理
##### 3.1.1.為什么需要權限管理?
安全性:誤操作,人為破壞,數據泄露等
數據隔離:不同權限能看到及操作不同的數據
明確職責:運營,客服等不同角色,等級不同
##### 3.1.2.權限管理的核心是什么?
1.用戶-權限:人員少,功能固定,或特別簡單的系統
2.RBAC:用戶-角色-權限? 所有系統都適用

#### 3.2.權限框架

Spring Security是一套安全框架,可以基于RBAC(基于角色的權限控制)對用戶的訪問權限進行控制
主要是認證和驗證
Basic 認證:Basic 認證是HTTP 中非常簡單的認證方式,因為簡單,
所以不是很安全,不過仍然非常常用。
Digest 認證:客戶端請求資源->服務器返回認證標示->
客戶端發送認證信息->服務器查驗認證,
如果成功則繼續資源傳送,否則直接斷開連接。
x.509認證:數字認證
LDAP 認證:LDAP認證是通過WSS3.0加上輕量目錄LDAP
協議搭建的種認證方式,使用https加密傳輸,
主要用于做文檔管理。
From 認證:表單認證
#### 3.3.登錄認證流程圖

#### 3.4 權限認證流程圖

- 快速了解
- 1. 項目簡介
- 2. 系統核心業務架構
- 3. 系統技術架構
- 使用教程
- 導入項目
- 1. 環境準備
- 2. 后端項目
- 3. 前端項目
- 開發文檔
- 后端開發文檔
- 1. 項目目錄結構
- 2. 如何二次開發
- 3. 數據權限實現
- 4. 如何控制權限
- 5. 操作日志介紹
- 6. 如何獲取當前登錄用戶信息
- 前端開發文檔
- 1. 項目目錄結構
- 2. 如何二次開發
- 更新日志
- 第三方登錄說明
- 搭建教程
- 第一章.基礎框架搭建
- 1.1.整體架構預覽
- 1.2.基礎架構搭建
- 1.3.配置文件
- 第二章.架構完善
- 2.1.搭建upms模塊
- 2.2.參數統一化
- 2.3.異常處理
- 第三章.完善登錄流程
- 3.1.表結構設計
- 3.2.引入安全框架
- 3.3.引入JWT
- 3.4.完善登錄
- 3.5.演示登錄
- 3.6.整合圖形驗證碼
- 7.7.完善驗證碼登錄
- 第四章. 前端系統搭建
- 4.1.前端基礎架構搭建
- 4.2.封裝Axios