中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

應用基礎框架全面解析

發布時間:2020-08-07 09:53:03 來源:ITPUB博客 閱讀:188 作者:EAWorld 欄目:軟件技術

應用基礎框架全面解析

轉載本文需注明出處:微信公眾號EAWorld,違者必究。

引言:

應用基礎框架Coframe是EOS產品自帶的開源應用基礎框架,提供了資源管理、權限管理、用戶以及角色管理等業務應用基礎能力,用戶可以根據自己的需要進行二次開發與擴展。本文向大家分享Coframe的主要功能和設計實現方案。

目錄:

一、簡介

二、系統資源

三、權限管理

四、組織管理

一、簡介

應用基礎框架也叫Coframe,是產品自帶的開源應用基礎框架,提供了一些基礎功能,用戶可以根據自己的需要進行二次開發與擴展。

Coframe提供3大核心功能:

  1. 系統資源:提供了功能菜單管理、字典碼表、應用管理折幾個應用框架基礎能力。

  2. 權限管理:提供了基于Party(參與者) 的復雜權限計算模型和授權模型。

    基于參與者、資源與授權等概念可擴展開發出符合用戶個性化需求的參與者模型。

  3. 組織管理:提供了機構、崗位、員工、 用戶、工作組等組織機構相關管理功能,支持與已有業務系統對接,使得基于普元EOS Platform 8.0開發的應用可方便地使用同一套組織機構。

 邏輯架構

應用基礎框架全面解析

邏輯架構圖展示了基礎應用框架的基本功能模塊,前端Restful形式接口調用后端服務。

進程架構


應用基礎框架全面解析

Coframe集成部署示意圖

應用基礎框架有兩種部署模式:微服務架構Coframe集成模式和單應用架構Coframe集成模式。

單應用架構很好理解,即直接使用Coframe源碼或者jar包開發應用,后端只有一個server,而集成模式可以將應用要對外暴露的服務封裝在Coframe中,這樣Coframe可以對應用進行權限管理。前端使用VUE開發,可以很方便的使用源碼進行二次開發。

數據模型


應用基礎框架全面解析

(可點擊圖片放大查看)

應用基礎框架的數據模型即DB表結構,展示了主要的一些表結構,包括權限表,用戶表等。用戶可以很方便的進行二次開發擴展應用。

二、系統資源

菜單管理

菜單框架支持兩級菜單,用戶可以自定義菜單的路徑和打開方式等。

應用基礎框架全面解析

應用基礎框架提供了幾個基礎的菜單,用戶可以在頁面編輯菜單或者直接在數據庫端編輯菜單。目前應用基礎框架前端Ui支持二級菜單,用戶可以根據自己的需求擴展到三級菜單。

字典碼表

字典碼表即為系統內部定義的具有業務屬性的數據字典。

應用基礎框架全面解析

系統管理員可以配置字典類型和字典項,用于管理系統中的枚舉類型的基礎數據,并且支持excel導入導出。字典類型和字典數據均支持一級子項。

  • 字典類型:對數據進行分類管理

  • 字典數據項:需要管理的枚舉數據

應用管理

應用管理又叫服務權限控制,是指在多應用系統以及單應用系統下,實現對應用的服務功能的權限控制。實現角色、用戶、功能的靈活綁定。

應用基礎框架全面解析

在需要進行權限管理的功能接口方法定義上添加@TarestOperation注解,發布服務。

@RequestMapping("/say-hello")
@TarestService(group = "SP1", displayName = "服務提供組1", version = "1.0.0.0", groupName = "服務提供組1", name = "ISampleAppHello")
public interface ISampleAppHello {

    @GetMapping
    @TarestOperation(checkPermission=false,name="DEMO_001",displayName="功能1")
    String sayHello();
   
    /**
         * @TarestOperation 在@TarestOperation中默認是不進行權限管理的
          *                    通過設置checkPermission = true,打開權限控制功能
          * **/
         @GetMapping(value = "/user")
        @TarestOperation(checkPermission =true,name="DEMO_002",displayName="功能2")
    String insertDemo(@RequestParam String name, @RequestParam Integer age);
   
}

(左右滑動查看全部代碼)

單應用系統即只有一個后端應用的系統,(直接以嵌入方式集成Coframe)無需新建應用。

多應用系統即有多個后端應用的系統,Coframe作為一個獨立的應用部署的系統,需要在coframe中新建應用。如圖所示:

應用基礎框架全面解析

三、權限管理

提供了基于Party(參與者) 的復雜權限計算模型和授權模型。

基于參與者、資源與授權等概念可擴展開發出符合用戶個性化需求的參與者模型。

  • 角色:角色是Coframe一個重要的對象,也可以成為權限集,表示系統中權限一個子集,用于控制用戶可以使用的功能集合,賦予用戶一個角色表示給用戶一定功能的使用權限。Coframe中角色的分配本身賦予某些用戶,員工,機構等之外,還要向角色授予可訪問某些功能,模塊,表單,視圖等資源的權限。擁有某角色的用戶可訪問角色被授予的資源的權限。

  • 用戶:所有能登錄系統的用戶都是系統中的用戶,需要增加登錄賬號有兩種方式。一種是在用戶管理中新增用戶,第二種是在組織管理中新增員工時關聯一個用戶,如果用戶的登錄名不存在會創建一個新的用戶。

用戶管理

應用基礎框架全面解析

所有能登錄系統的用戶都是系統中的用戶,需要增加登錄賬號有兩種方式。一種是在用戶管理中新增用戶,第二種是在組織管理中新增員工時關聯一個用戶,如果用戶的登錄名不存在會創建一個新的用戶。當Coframe使用IAM的統一認證登錄的時候能夠同步IAM端的同一租戶下的用戶信息。

Coframe的用戶賬號由其登錄認證方式決定是本地創建的還是又IAM即同一認真平臺同步過來的用戶信息。

  • 本地登錄:用戶賬號及其認證密碼在本地存儲,本地認證配置可以參考:http://t.cn/EUrzEtL

  • 單點登錄:即與IAM集成的sso方式登錄,可以參考:http://t.cn/EUrZPOs

授權管理

目前提供了菜單授權與服務授權,授權管理即將資源與參與者之間建立關系。如下圖所示,菜單和應用:

應用基礎框架全面解析

即可以視為資源,而賬號、角色、組織機構、工作中等,即可以視為參與者。授權表結構如下圖所示:

應用基礎框架全面解析

應用基礎框架全面解析

此注解用來標志一個數據實體為授權實體,授權實體需要指定類型:資源、授權主體,比如:

@Entity
// 此實體名稱為order,類型為resource
@AuthEntity(name = "order", type = AuthEntityType.RESOURCE)
@Table(name = "SAMPLE_ORDER")
public class SampleOrder {

    @Id
    @GeneratedValue
    private Long id;
   
    private String name;
   
    private Date date;
}

(左右滑動查看全部代碼)

四、組織管理

機構管理

應用基礎框架全面解析

機構指企業的組織機構,一般包含機構、崗位、員工等信息。

機構管理通過對一棵機構人員樹的維護把機構、崗位、人員等信息和關系維護好,并可設置這些組織對象的角色。

應用基礎框架全面解析

工作組管理

應用基礎框架全面解析

工作組與機構類似,是為了將項目組、工作組等臨時性的組織機構管理起來,業務上通常工作組有一定的時效性,是一個非常設機構。

工作組是企業動態創建的組織機構分組,工作組下可以有子工作組、員工信息。

總結:



以上介紹了應用基礎框架的主要基礎功能,以及設計過程中的一些理念,比如授權模型等。

作為開源應用基礎框架會隨著規劃發展不斷完善,用戶可以根據自身的需求來更改適配。也非常歡迎大家能夠更多參與使其更加健壯。

精選提問:

問1:這個是一個前后端分離的項目嗎 我看前端單獨部署在nginx中。

是前后端分離的,前端是用VUE開發的。

問2:接入的SSO是支持CAS嗎?如果是CAS的話,在前后端分離的項目在前端有什么好的設計嗎?因為CAS一般基于fliter來接入CAS server的。

答:接入的SSO是Oauth3.0的,目前不支持CAS,可以參考。

問3:Coframe是開源的嗎?可以商用嗎?

答:一般對公司的客戶是開源的,但是對外并沒有公布源碼(沒有放在github之類的托管平臺上面)。

問4:它是一個平臺級的應用嗎,我可以接入第三方的應用進來嗎?

答:不是,它提供了類似菜單、授權等基礎能力,可以基于源碼二次開發,也可以基于jar開發自己的應用。

問5:目前最新版本是多少?授權用的是Shiro嗎?

答:最新快照版本8.0.0-SNAPSHOT,目前準備開發8.0.0-LA2-SNAPSHOT。授權不是用的shiro,是基于參與者、資源與授權 這三種模型開發的授權方式。

應用基礎框架全面解析

關于作者許方杰,普元資深軟件工程師,曾在華為負責項目核心模塊開發,運維等,擅長Web、運維等領域技術,參與普元 EOS 8微服務平臺應用基礎框架(Coframe)的建設與實施。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

防城港市| 和顺县| 怀安县| 湄潭县| 密山市| 三台县| 门头沟区| 宁蒗| 翼城县| 铜鼓县| 蓝田县| 和林格尔县| 光山县| 内江市| 论坛| 盐城市| 东山县| 仙桃市| 宝丰县| 大余县| 行唐县| 达拉特旗| 太保市| 开阳县| 郑州市| 万荣县| 竹山县| 宁夏| 永平县| 卓尼县| 马龙县| 响水县| 沿河| 句容市| 张家界市| 民勤县| 阳泉市| 耒阳市| 卫辉市| 尼玛县| 新兴县|