天天看點

淺談Integrity的使用者管理與權限控制

    學習研究Integrity軟體包,不得不研究學習其權限控制,其控制粒度可大可小。要講權限控制,得先了解其使用者的管理。

     針對Integrity軟體包來講,得分使用者管理和權限控制管理兩部分來處理,分别為security realm和security scheme;security realm主要是确定使用者管理屬于哪個使用者管理系統,security scheme則确定将使用者或使用者群組登入資訊發送到哪個網絡。

    一、使用者管理

    Integrityr軟體包做為ALM産品,理所當然擁有自身完善的使用者管理機制,當然也可以跟其他使用者管理系統做無縫的對接,至于能否使用SSO還需要進一步研究。

    先講講自身的使用者管理,在之前的安裝配置的時候提及過在啟動新安裝的Integrity服務前需配置users.properties和groups.properties。在已知使用者群和使用者群組的情況下,可以使用該方式進行使用者配置,其中users.properties的資料格式為"username=password",groups.properties的資料格式為"group=userName1,userName2,...,userNamen,.."。在軟體包用戶端的administrator端的MKS DOMAIN節點下可以配置使用者以及使用者群組。

     與其他使用者管理系統作內建,需要進行背景配置檔案的修改,涉及的配置檔案為security.properties,主要可以與下表中使用者管理系統作內建

淺談Integrity的使用者管理與權限控制

        需要注意的是修改完配置檔案需要重新開機Integirty服務。由于使用Integrity是有一定的權限控制,而不是所有的使用者都可以使用通路Integrity,是以需要将內建好的使用者管理系統中的使用者導入到Integrity系統中特定的使用者群組中。

        基于之前提及過的Integrity服務端有大量的緩沖機制,當然使用者也不例外。要充分掌握好Integrity軟體包并能更好的基于軟體包做定制開發,得比較清晰的了解其服務端的業務邏輯處理過程,是以在這裡有必要就使用者的登入在Integrity服務端的實作進行講解,其服務端的業務邏輯處理過程大緻如下圖所示

淺談Integrity的使用者管理與權限控制

        說明,首先用戶端向服務端送出使用者登入請求,服務端先檢視緩存中是否存在使用者資訊或使用者會話,如果存在則允許使用者使用系統或系統操作;不存在,則判斷Integrity是否內建第三方使用者管理系統,沒有內建則在Integrity自身使用者管理體系進行使用者驗證,如果驗證失敗則回報用戶端失敗資訊,反之則允許使用系統或系統操作;如果內建其他使用者管理體系,則看配置檔案中驗證順序,按其配置的先後順序依次進行驗證,驗證通過後如果不是MKS自身使用者就将使用者資訊(不包括密碼)寫入至軟體包資料庫中,并寫入服務端的緩存以及允許使用者操作使用系統;如果沒有通過則提示錯誤資訊。

    二、權限管理

     這裡分析的是使用者和使用者群組的權限管理控制。使用者權限的計算規則如下圖所示

淺談Integrity的使用者管理與權限控制

    以上僅僅是個人對Integrity軟體包的使用者管理以及權限控制的了解,僅做參考。

繼續閱讀