亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

ovirt筆記:基于ovirt4.0的虛擬資源管理的權(quán)限分析

Gilbertat / 1077人閱讀

摘要:前言虛擬資源管理平臺是在的基礎(chǔ)上開發(fā)的,從原有的一個用戶擴展成三個管理員用戶和普通用戶,下面簡單分析一下其實現(xiàn)權(quán)限管理的原理。

前言

虛擬資源管理平臺是在ovirt4.0的基礎(chǔ)上開發(fā)的,從原有的一個admin用戶擴展成三個管理員用戶和普通用戶,下面簡單分析一下其實現(xiàn)權(quán)限管理的原理。

數(shù)據(jù)庫表

主要包括三張表:roles(角色表)、roles_group(角色與操作組關(guān)系表)、permissions(權(quán)限表)
角色RoleType有五種:SystemAdmin、SecurityAdmin、AuditAdmin、UserRole、QuotaConsumer

roles

roles_group角色與操作組關(guān)系表(操作組id就是actionGroup中的id,也就是動作組的id,)

permissions權(quán)限信息表(也相當于角色和用戶的關(guān)聯(lián)表,表示某個用戶擁有對某個操作對象的權(quán)限,操作對香指存儲,虛擬機,模板等對象)

定義操作:

通過VdcActionType進行操作自定義,通過枚舉設(shè)置操作與操作組的從屬關(guān)系,而ActionGroup是定義操作組(或者說動作組)
比如瘦客thinClient作為一個操作組,則其包括好多種操作,比如登錄VdcLogin和退出VdcLogout等等

// VdcLogin
    VdcLogin(5003, ActionGroup.THINCLIENT, QuotaDependency.NONE),
    VdcLogout(5004, ActionGroup.THINCLIENT, QuotaDependency.NONE),

通過00500_insert_roles.sql初始化角色權(quán)限

權(quán)限驗證事務(wù):系統(tǒng)中所有操作Command都提供getPermissionCheckSubjects方法,用來定義執(zhí)行操作的權(quán)限列表


permissionList權(quán)限列表中,包含權(quán)限對象PermissionSubject,權(quán)限對象的屬性如下:

在系統(tǒng)的各種command的執(zhí)行時,會檢測權(quán)限,每個操作Command執(zhí)行,必須定義操作權(quán)限列表,否則會直接提示沒有操作權(quán)限:

最終通過存儲過程進行權(quán)限查詢get_entity_permissions


滿足權(quán)限的條件判斷(1,2必須滿足,3,4,5滿足其中一個)

系統(tǒng)登錄用戶系統(tǒng)登錄用戶(user_id) 所屬的 角色(role),必須與 操作組(action_group_id) 在 roles_groups 表中有對應(yīng)關(guān)系

role_id IN( SELECT role_id FROM roles_groups WHERE action_group_id = v_action_group_id)
2.必須擁有需要刪除的虛擬機的權(quán)限( 或者 所屬群集、數(shù)據(jù)中心的權(quán)限。有待探討)
AND (object_id IN(SELECT id FROM fn_get_entity_parents(v_object_id,v_object_type_id)))
3.功能分配了everyone權(quán)限
v_everyone_object_id := getGlobalIds("everyone");
ad_element_id = v_everyone_object_id
4.功能分配了該登錄用戶的權(quán)限
ad_element_id = v_user_id
5.功能分配了該登錄用戶所屬用戶組的權(quán)限
ad_element_id IN(SELECT * FROM getUserAndGroupsById(v_user_id)

權(quán)限的增加和刪除:

通過 AddPermissionCommand操作添加權(quán)限

通過RemovePermissionCommand的paramPermission操作刪除權(quán)限,根據(jù)權(quán)限ID刪除
getDbFacade().getPermissionDao().remove(perms.getId());

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/77104.html

相關(guān)文章

  • ovirt筆記:通過登錄策略配置模塊來熟悉系統(tǒng)框架

    摘要:最近在寫登錄策略配置模塊,現(xiàn)在通過分析登錄策略配置模塊來說明系統(tǒng)的層次結(jié)構(gòu)。這樣實現(xiàn)起來簡單明了,不過由于是根據(jù)角色定義登錄限制策略,同一種角色只有一種登錄限制策略,對不同用戶暫時不能做到多樣性控制,后期再修正。 最近在寫登錄策略配置LoginConfig模塊,現(xiàn)在通過分析登錄策略配置模塊來說明系統(tǒng)的層次結(jié)構(gòu)。系統(tǒng)后臺主要包括四層: 1. 數(shù)據(jù)庫層:包括表、存儲過程、實體類 2. 數(shù)據(jù)...

    Loong_T 評論0 收藏0
  • ovirt筆記:通過登錄策略配置模塊來熟悉系統(tǒng)框架

    摘要:最近在寫登錄策略配置模塊,現(xiàn)在通過分析登錄策略配置模塊來說明系統(tǒng)的層次結(jié)構(gòu)。這樣實現(xiàn)起來簡單明了,不過由于是根據(jù)角色定義登錄限制策略,同一種角色只有一種登錄限制策略,對不同用戶暫時不能做到多樣性控制,后期再修正。 最近在寫登錄策略配置LoginConfig模塊,現(xiàn)在通過分析登錄策略配置模塊來說明系統(tǒng)的層次結(jié)構(gòu)。系統(tǒng)后臺主要包括四層: 1. 數(shù)據(jù)庫層:包括表、存儲過程、實體類 2. 數(shù)據(jù)...

    ?xiaoxiao, 評論0 收藏0
  • OpenStack和Docker不能,ServerLess能決定云計算勝負嗎?

    摘要:彼時,從虛擬化管理到公有云,熱鬧異常。雖然年才明顯放棄公有云的全面競爭,但在年決定發(fā)起和開源項目是,不說明確,至少已經(jīng)隱隱覺得肯定搞不過亞馬遜了。年前賣的多火,被視為虛擬主機的升級版。當然不是新堆棧,而是傳統(tǒng)堆棧。 還記得在十多年前,SaaS鼻祖SalesForce喊出的口號『No Software』嗎?SalesForce在這個口號聲中開創(chuàng)了SaaS行業(yè),并成為當今市值460億美元的Saa...

    gitmilk 評論0 收藏0
  • Docker學習之路(一)

    摘要:本人的學習筆記,主要是對我的第一本書從入門到實踐的學習記錄,并結(jié)合其他各種資源的學習,歡迎大牛們指點。最新的容器引入了容器如,容器不再僅僅是一個單純的運行環(huán)境。鏡像是基于聯(lián)合文件系統(tǒng)的一種層式的結(jié)構(gòu),由一系列指令一步步構(gòu)建處理。 本人的學習筆記,主要是對《我的第一本Docker書》、《Docker —— 從入門到實踐》的學習記錄,并結(jié)合其他各種資源的學習,歡迎大牛們指點。 容器簡介 ...

    AWang 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<