原创 微服務下前後端分離的統一認證授權服務,基於Spring Security OAuth2 + Spring Cloud Gateway實現單點登錄

1.  整體架構   在這種結構中,網關就是一個資源服務器,它負責統一授權(鑑權)、路由轉發、保護下游微服務。 後端微服務應用完全不用考慮權限問題,也不需要引入spring security依賴,就正常的服務功能開發就行了,不用關注權限。

原创 Spring Security 基於URL的權限判斷

1.  FilterSecurityInterceptor 源碼閱讀 org.springframework.security.web.access.intercept.FilterSecurityInterceptor 通過過濾器實現對

原创 Spring Security OAuth2 單點登錄

1. OAuth 2.0 OAuth(Open Authorization)爲用戶資源的授權提供了一個安全的、開放而又簡易的標準。最簡單的理解,我們可以看一下微信OAuth2.0授權登錄流程:   通過OAuth2可以授權第三方應用訪

原创 Docker安裝Jenkins 從GitLab上拉取代碼打包SpringBoot項目並部署到服務器

1.  安裝Jenkins 採用 Docker 方式安裝 jenkins 首先,宿主機上需要安裝java和maven,這裏我的安裝目錄如下: 由於是docker安裝,jenkins將來是在容器裏面運行的,而打包的時候需要用到maven和j

原创 Rancher 2.x 安裝

Rancher 是一個容器管理平臺。Rancher 簡化了使用 Kubernetes 的流程。 下面記錄一下手動安裝Rancher的步驟 1.  部署 Rancher Server 執行以下命令即可(PS:前提是已經安裝了docker)

原创 Activiti7 結束/終止流程

1.  結束/終止 正在運行的流程實例 思路:跟回退一樣的思路一樣,直接從當前節點跳到結束節點(EndEvent)  /** * 結束任務 * @param taskId 當前任務ID */ public void endT

原创 Activiti7 回退與會籤

1.  回退(駁回) 回退的思路就是動態更改節點的流向。先遇水搭橋,最後再過河拆橋。 具體操作如下: 取得當前節點的信息 取得當前節點的上一個節點的信息 保存當前節點的流向 新建流向,由當前節點指向上一個節點 將當前節點的流向設置爲上面新

原创 Activiti7 與 Spring Boot 及 Spring Security 整合 踩坑記錄

1.  前言 實話實說,網上關於Activiti的教程千篇一律,有參考價值的不多。很多都是老早以前寫的,基本都是直接照搬官方提供的示例,要麼就是用單元測試跑一下,要麼排除Spring Security,很少有看到一個完整的項目。太難了,筆者

原创 Activiti7 入門篇

1.  工作流 簡單地來講,工作流就是在計算機的協助下實現流程的自動化控制。目前,筆者熟知的主流的框架有:Camunda 、Flowable 、Activiti 、jBPM、還有我們國產的盤古BPM、雲程。其中,Camunda 、Flowa

原创 基於 Spring Security 的前後端分離的權限控制系統

話不多說,入正題。一個簡單的權限控制系統需要考慮的問題如下: 權限如何加載 權限匹配規則 登錄 1.  引入maven依賴 1 <?xml version="1.0" encoding="UTF-8"?> 2 <project x

原创 Linux安裝Nexus

當我們嘗試從官網下載最新的Nexus 3.x的時候,哦吼,死活下載不下來 https://www.sonatype.com/products/repository-oss-download https://sonatype-download

原创 Spring Security 入門篇

本文是一個筆記系列,目標是完成一個基於角色的權限訪問控制系統(RBAC),有基本的用戶、角色、權限管理,重點在Spring Security的各種配置。萬丈高樓平地起,接下來,一步一步,由淺入深,希望給一起學習的小夥伴一個參考。 1.  H

原创 樹形結構的菜單表設計與查詢

開發中經常會遇到樹形結構的場景,比如:導航菜單、組織機構等等,但凡是有這種父子層級結構的都是如此,一級類目、二級類目、三級類目。。。 對於這種樹形結構的表要如何設計呢?接下來一起探討一下 首先,想一個問題,用非關係型數據庫存儲可不可以? 答

原创 延遲隊列的常用的實現方式

延遲隊列的使用場景還比較多,例如: 1、超時未收到支付回調,主動查詢支付狀態; 2、規定時間內,訂單未支付,自動取消; 。。。 總之,但凡需要在未來的某個確定的時間點執行檢查的場景中都可以用延遲隊列。 常見的手段主要有:定時任務掃描、Roc

原创 Prometheus + Spring Boot 應用監控

1.  Prometheus是什麼 Prometheus是一個具有活躍生態系統的開源系統監控和告警工具包。一言以蔽之,它是一套開源監控解決方案。 Prometheus主要特性: 多維數據模型,其中包含由指標名稱和鍵/值對標識的時間序列數據