簡介
搭建基於OAuth2的開放平臺、為APP端、應用服務提供統一接口管控平臺、為第三方合作伙伴的業務對接提供授信可控的技術對接平臺
- 分佈式架構,統一配置中心,服務治理.fegin(RPC)內部調用,微服務管理開發更便捷!
- 統一API網關、訪問鑑權、接口管理、參數驗籤、接口調用更安全!
- 深度整合SpringSecurity+Oauth2,統一認證協議、url級鑑權、更細粒度、靈活的ABAC權限控制!
- 前後端分離方式開發應用,分工合作更高效!
- 代碼合理封裝、簡單易懂、簡化開發流程!
開發平臺門戶預覽
運營管理後臺預覽
- 後臺默認賬號:admin 123456
- 後臺測試賬號:test 123456
- SpringBootAdmin賬號:sba 123456
更新日誌
v-3.0.0 2019-07-19
1. 增加open-cloud-generator-server 在線代碼生成器
2. docs/sql/data/日期.sql 增量數據
v-3.0.0 2019-07-11 (重大更新)
1. 新增開發者管理
2. 調整項目結構
3. 優化ui交互方式
4. 調整部分代碼
5. 升級方式
+ 升級前注意對老數據進行備份
+ 重新導入common.propertis到配置中心
+ 重新執行 2019-07-19.sql oauth2.sql gateway.sql msg.sql 並手動刪除無效表名
v-2.1.0 2019-06-10
1. base_api表新增字段is_open是否公開訪問: 0-內部的 1-公開的
2. 更新base_api數據
v-2.1.0 2019-05-26 (重大變更)
1. 重新梳理base表結構和權限相關接口,解決用戶和客戶端動態分配權。 機制問題暫不支持用戶動態分配角色,需重新登錄獲取最新角色
2. 優化頁面功能
3. 升級nacos客戶端版本.支持1.0.0以上版本
5. 完善權限數據,去除外鍵約束.
6. 升級方式更新ui和服務代碼, 重新執行base.sql。手動刪除無效表
7. 移除app-admin模塊 相關功能遷移到opencloud-auth-provider中
v-2.0.0 2019-05-01
1. 升級SpringCloud Greenwich.SR1,SpringBoot 2.1.4.RELEASE
2. 重構項目結構
3. 優化Zuul網關性能
4. 增加官方SpringCloudGateway
5. 遷移Gateway功能到base服務中
6. 增加MybatisPlus
7. 使用.yml代替.properties
v-1.0.0 2019-03-18
1. 重構項目結構
2. 重構表結構
3. 重構授權邏輯
4. 提取公共配置,並遷移到Nacos配置中心
5. 優化功能
系統結構圖
功能介紹
服務端源碼
碼雲 github
vue後臺UI源碼
後臺UI源碼
vue門戶UI源碼
門戶UI源碼
使用手冊
使用手冊
代碼結構
open-cloud
├── docs -- 文檔及腳本
├── bin -- 執行腳本
├── config -- 公共配置,用於導入到nacos配置中心
├── sql -- sql文件
├── data -- 增量數據
├── components -- 公共組件
├── open-cloud-common-core -- 提供微服務相關依賴包、工具類、全局異常解析等
├── open-cloud-common-starter -- SpringBoot自動配置掃描
├── open-cloud-tenant-starter -- 多租戶模塊,多數據源自動切換(完善中...)
├── open-cloud-java-sdk -- 開放平臺api集成SDK(完善中...)
├── platform -- 平臺服務
├── open-cloud-api-spring-server -- API開放網關-基於SpringCloudGateway[port = 8888](暫不推薦.功能暫不完善)
├── open-cloud-api-zuul-server -- API開放網關-基於Zuul[port = 8888](推薦.功能完善)
├── open-cloud-base-client -- 平臺基礎服務接口
├── open-cloud-base-server -- 平臺基礎服務器[port=8233]
├── open-cloud-uaa-admin-server -- 平臺用戶認證服務器[port = 8211]
├── open-cloud-uaa-portal-server -- 門戶開發者認證服務器[port = 7211]
├── open-cloud-generator-server -- 在線代碼生成服務器[port = 5555]
├── services -- 通用微服務
├── open-cloud-msg-client -- 消息服務接口
├── open-cloud-msg-server -- 消息服務器[port = 8266]
├── open-cloud-task-client -- 任務調度接口
├── open-cloud-task-server -- 調度服務器[port = 8501]
├── open-cloud-bpm-client -- 工作流接口
├── open-cloud-bpm-server -- 工作流服務器[port = 8255]
├── open-cloud-sba-server -- SpringBootAdmin監控服務[port = 8849]
├── open-cloud-sso-ui-demo -- SSO單點登錄演示demo[port = 8849]
快速開始
上手難度:★★★★
本項目基於springCloud打造的分佈式快速開發框架. 需要了解SpringCloud,SpringBoot開發,分佈式原理。
- 準備環境
- Java1.8 (v1.8.0_131+)
- Nacos服務發現和註冊中心(v1.0.0+) 阿里巴巴nacos.io
- Redis (v3.2.00+)
- RabbitMq (v3.7+)(需安裝rabbitmq_delayed_message_exchange插件 下載地址)
- Mysql (v5.5.28+)
- Maven (v3+)
- Nodejs (v10.14.2+)
- 執行創建數據庫open-platform並執行sql腳本
- docs/sql/oauth2.sql
- docs/sql/base.sql
- docs/sql/gateway.sql
- docs/sql/msg.sql
- docs/sql/quartz.sql && task.sql ...
- 啟動nacos服務發現&配置中心,新建公共配置文件
- 訪問 http://localhost:8848/nacos/index.html
- 新建配置文件 ```
- 項目目錄/docs/config/db.properties > db.properties
- 項目目錄/docs/config/rabbitmq.properties > rabbitmq.properties
- 項目目錄/docs/config/redis.properties > redis.properties
- 項目目錄/docs/config/common.properties > common.properties
- 如圖:
- 修改主pom.xml
- 初始化maven項目
maven clean install
- 本地啟動,默認不用修改
<config.server-addr>127.0.0.1:8848/<config.server-addr>
<config.namespace>
<discovery.server-addr>127.0.0.1:8848/<discovery.server-addr>
- 本地啟動(按順序啟動)
- [必需]BaseApplication(平臺基礎服務)
- [必需]UaaAdminApplication(平臺用戶認證服務器)
- [必需]ApiGatewayZuulApplication(推薦)或ApiGatewaySpringApplication(暫不推薦)
訪問 http://localhost:8888
- 4.[非必需]SpringBootAdmin(監控服務器)(非必需)
訪問 http://localhost:8849
- 前端啟動
npm install
npm run dev
- 訪問 http://localhost:8080
- 項目打包部署
- maven多環境打包,並替換相關變量
mvn clean install package -P {dev|test|online}
- 項目啟動
./docs/bin/startup.sh {start|stop|restart|status} open-cloud-base-server.jar
./docs/bin/startup.sh {start|stop|restart|status} open-cloud-uaa-admin-server.jar
./docs/bin/startup.sh {start|stop|restart|status} open-cloud-api-zuul-server.jar
git地址:https://gitee.com/liuyadu/open-cloud
閱讀更多 儒雅程序員 的文章