
## 一、DongBB項目宗旨
**做開發文檔最詳細的開源權限管理系統**。
演示地址:[http://123.56.169.21/dongbb/](http://123.56.169.21/dongbb/) 演示環境用戶密碼:admin/Abcd1234
> 請大家愛惜演示環境,自己創建的數據自己刪除、修改。不要去刪除修改他人創建的數據。如果多次刪改“權限數據”造成演示環境,無法使用的情況,我將采取禁用權限的手段,大家的可操作空間將會縮小。
源碼地址:[https://gitee.com/hanxt/dongbb](https://gitee.com/hanxt/dongbb)
## 二、DongBB項目(JWT前后端分離版)核心特點
* 角色權限控制精確到:**可數據庫配置的“數據接口訪問權限”**,大部分的開源框架只精確到“菜單層面”。
* **標準的RBAC權限管理**,基于角色的權限管理。
* **只有JWT,沒有Session**。只有最簡JWT認證授權狀態管理,**開發過程不使用任何session**、更沒有redis集中session。面向那些希望節省服務端部署資源,并且希望靈活實現分布式擴展的應用場景。
* **只用element-ui**,不引入其他對element-ui二次封裝的UI框架,保證靈活性,降低技術棧學習成本。跟隨社區成長、兼容。
* 統一的接口數據結構、全局的異常處理
* 使用mybatis代碼自動生成,針對單表的數據操作不寫SQL
> 后續我還會在此版本的基礎上開發,DongBB-cloud(Spring Cloud版本)。面向的應用場景將會有所不同。
## 三、前端技術選型
|軟件包|版本|
|---|---|
|vue|2.6.10|
|vue-router|3.1.3|
|vuex|3.1.2|
|@vue/cli|4.1.0|
|element-ui|2.13.0|
|font-awesome|4.7.0|
## 四、后端技術選型
|軟件包|版本|備注|
|---|---|---|
|mysql|5.7| 我使用了這個版本,只要你驅動包使用正確,用mysql8我覺得也無妨|
|jdk|8||
|spring-boot-starter-parent|2.2.4.RELEASE||
|spring security|5.2.1.RELEASE||
|mybatis-plus-boot-starter|3.4.0||
|mybatis|3.5.5||
|lombok|1.18.10||
## 五、為什么叫DongBB
開發此系統耗費了我大量的精力,如果只是開發對于我還好比較好做,我還要一邊開發一邊寫“我是怎么開發出來的”,“怎么設計的”,一步一步的記錄。這個精力耗費是巨大的,我的兒子“東東”也在一點點的成長,對于家人我感到有虧欠,我花費了大量應該去陪伴他們的時間來做這項工作。所以,它叫“Dong Baby”,簡寫DongBB。
希望我的兒子長大后,有一天了解爸爸的工作,能為爸爸感到驕傲!
- 開發過程文檔內容介紹
- 作者的其他作品推薦
- vue深入淺出系列
- 手摸手教你學Spring Boot2.0
- Spring Security-JWT-OAuth2一本通
- 實戰SpringCloud微服務從青銅到王者
- 項目文檔
- DongBB項目介紹
- 子模塊介紹
- 環境部署
- 阿里云CentOS7-搭建Mysql
- 阿里云CentOS7-JDK安裝
- 阿里云CentOS7-安裝nginx
- 部署SpringBoot后端應用
- 前端vue打包部署nginx
- 關于學員若干問題的解答
- 代碼生成器(獨立開源項目)
- 設計宗旨及思路
- 代碼生成器的安裝
- 代碼生成器的使用方法
- 基礎框架搭建
- 【前端】搭建vue前端框架
- 【前端】目錄結構及配置調整
- 【前端】封裝及使用axios
- 【后端】IDEA多模塊springboot項目
- 【后端】統一接口響應的數據結構
- 實現JWT認證授權
- 【后端】數據庫權限模型設計
- 【后端】jwt-spring-boot-starter說明
- 【后端】JWT認證及令牌刷新接口
- 【前端】開發用戶密碼登錄頁面
- 【前端】開發登錄認證功能
- 【前端】JWT令牌的存儲攜帶與刷新
- 【問題】跨域訪問等問題的處理
- 系統布局菜單Tab前端實現
- 【前端】整體布局的實現
- 【前端】側邊欄多級菜單
- 【前端】菜單側邊欄收縮
- 【前端】JSON數據加載菜單
- 【前端】菜單項前端路由及組件
- 【前端】結合vuex實現導航tab
- 以用戶信息為例講接口鑒權設計
- 【前端】開發個人中心相關功能
- 【前端】導航Tab的功能優化
- 【后端】系統接口多層鑒權設計
- 【后端】持久層通用模塊
- 【后端】以用戶信息為例講接口開發
- 【前端】用戶信息接口與加載進度條
- 【綜合】HTTP狀態碼與業務統一
- 組織管理功能-樹形結構精講
- 【前端】理解樹形表格展示結構
- 【后端】Mysql樹形結構數據封裝
- 【功能】Table查詢重置的實現
- 【前端】樹形下拉單選組件封裝
- 【后端】增刪改服務及接口實現
- 【前端】增刪改功能的前端實現
- 菜單管理與接口分類管理
- 菜單管理功能類比實現(樹形)
- 接口分類管理類比實現(樹形)
- 角色管理與權限分配
- 【后端】角色管理CURD及接口定義
- 【前端】角色管理CURD
- 【前端】樹形多項勾選組件封裝
- 【后端】權限初始化及持久化接口
- 【前端】實現角色權限的分配
- 用戶管理功能實現
- 【后端】用戶管理后端接口及服務
- 【前端】查詢分頁與日期組件
- 【前端】使用組織樹查詢用戶
- 【前端】增刪改Mixin代碼復用
- 【功能】用戶角色分配功能開發
- 【功能】密碼重置功能開發
- 【功能】登錄提示修改默認密碼
- 再談菜單查看及接口訪問權限
- 【使用】配置菜單接口角色用戶權限
- 【后端】按數據庫權限查詢菜單
- 【前端】菜單欄數據加載渲染
- 全局配置參數功能設計與使用
- 【后端】數據庫全局參數配置接口
- 【前端】加載及使用全局配置參數
- 【功能】參數配置管理功能開發
- 數據字典設計及使用
- 【后端】數據庫數據字典接口
- 【前端】數據字典數據的加載
- 【前端】DictSelect組件封裝與使用
- 【功能】數據字典管理功能的開發
- 1.0里程碑(優化補充調整)
- Header左側樣式優化
- Header右側樣式優化
- 為二級菜單增加圖標
- 【bug修正】導航路由邏輯判斷
- 引入MybatisPlus
- api函數定義模塊拆分
- 通用字段自動填充
- 去掉無意義root節點展示
- 禁用狀態設置
- 用戶禁用狀態
- 角色組織菜單接口狀態
- 各種禁用狀態背后的規則
- 應用緩存設計與實現
- 應用緩存設計定義
- EhCache緩存集成
- 如何保證緩存一致性(一)
- 如何保證緩存一致性(二)
- 如何保證緩存一致性(三)
- 換成分布式redis緩存
- 整合動態菜單與動態路由
- 需求說明
- 實現隱藏菜單功能
- 按權限加載前端路由