天天看點

Java源碼規則引擎:jvs-rules決策流的自定義權限控制

作者:躬身踐行

規則引擎用于管理和執行業務規則。它提供了一個中央化的機制來定義、管理和執行業務規則,以便根據特定條件自動化決策和行為。規則引擎的核心概念是規則。規則由條件和動作組成。條件定義了規則适用的特定情況或規則觸發的條件,而動作定義了規則滿足時要執行的操作或行為。

決策流的權限控制

決策的權限控制是指在一個組織或系統中,對于不同的角色或使用者,根據其職責和權限的不同,限制其對決策配置、使用調用結果的通路和操作權限控制。

JVS-rules權限控制包括兩部分,一部分包括對權限的配置檢視、與配置編輯,另外一部分為對決策流的調用控制,如下圖所示:

Java源碼規則引擎:jvs-rules決策流的自定義權限控制

配置入口

1、新增、或者對現有決策流程進行編輯,進入到決策配置界面,如下圖所示,配置引擎包括兩個頁面,“權限設定”頁面用于對配置的決策流設計進行權限控制

Java源碼規則引擎:jvs-rules決策流的自定義權限控制

服務開放式針對向業務系統或者服務調用方提供授權控制

Java源碼規則引擎:jvs-rules決策流的自定義權限控制

權限配置

權限配置界面與JVS整體授權體系都比較類似,如下圖所示,目前操作權限預設是全部開放,如果需要自定義檢視與操作的權限,點選自定義權限按鈕

Java源碼規則引擎:jvs-rules決策流的自定義權限控制

系統自動會建立一個權限組,權限組内可以對多人進行授權控制,勾選對此權限組授權的功能範圍

Java源碼規則引擎:jvs-rules決策流的自定義權限控制
  • 編輯權限,對本決策流的設計配置權限;
  • 執行權限,可在界面上觸發決策的執行操作;
  • 釋出新版本,是對後續版本管理的權限操作進行預留控制;
  • 啟動權限,是可以配置決策流處于可以被外部服務調用的有效狀态;
  • 删除權限,表示可以删除本決策流;
  • 檢視權限,表示可以對本決策流的配置與執行結果進行檢視。

點選添加人員,系統彈出人員選擇器,可以根據實際情況對使用者、組織、部門進行多重選擇,選擇後系統可以看到授權的效果:

Java源碼規則引擎:jvs-rules決策流的自定義權限控制

授權結果如下圖所示:

Java源碼規則引擎:jvs-rules決策流的自定義權限控制

可以點選添權重限組,對不同的使用者組進行不同的授權控制

Java源碼規則引擎:jvs-rules決策流的自定義權限控制

服務開放控制

服務開放控制,主要是針對外部的程式或者外部接口調用本決策的授權控制,如下圖所示

Java源碼規則引擎:jvs-rules決策流的自定義權限控制

在頁面中,可以配置不同的開放模式:公開通路、憑證通路,其中公開通路是不對調用通路進行控制,憑證通路是表示對調用本決策的api必須攜帶調用的憑證,否則将不被允許調用

Java源碼規則引擎:jvs-rules決策流的自定義權限控制

選擇憑證通路時,系統預設會新增憑證記錄,可以記錄每個憑證的相關資訊,如下圖所示:

Java源碼規則引擎:jvs-rules決策流的自定義權限控制

系統同時提供白名單控制,如果開啟白名單模式,系統會通過憑證+ip授權,雙重認證下才會讓其調用。

Java源碼規則引擎:jvs-rules決策流的自定義權限控制

線上Demo:http://rules.bctools.cn

開源位址:https://gitee.com/software-minister/jvs

規則引擎往期幹貨

jvs-rules規則引擎 2.1.8 新版本功能清單

jvs-rules 規則引擎功能介紹(一)

jvs-rules 規則引擎功能介紹(二)

jvs-rules 規則引擎功能介紹(三)

jvs-rules 規則引擎功能介紹(四)

繼續閱讀