Module Zero之許可權管理

2022-01-19 17:59:39 字數 1235 閱讀 4198

返回《module zero學習目錄》

module-zero實現了abp授權系統的ipermissionchecker介面。這篇文章中,我們將會看到如何給角色和使用者授予許可權。要定義和檢查許可權,請轉至《abp理論學習之授權(authorization)》

如果我們給乙個角色授予乙個許可權,那麼這個角色的所有使用者都授權了該許可權(除非對於乙個特定的使用者顯示禁止)。

我們使用rolemanager改變乙個角色的許可權。比如,setgrantedpermissionsasync可以在乙個方法呼叫中改變乙個角色的所有許可權:

public async task updaterolepermissions(updaterolepermissionsinput input)

}這個例子中,我們獲得了乙個roleid和授予許可權的名稱列表(input.grantedpermissionnames是list型別)。我們使用ipermissionmanager根據名字找到所有的「許可權」物件。然後我們呼叫setgrantedpermissionsasync方法來更新角色的許可權。

也有其他方法來乙個個地控制許可權,如grantpermissionasyncprohibitpermissionasync

雖然對於大多說應用來說,基於角色的許可權管理可能足夠了,但我們可能控制每個使用者的許可權。當我們為乙個使用者定義乙個許可權設定時,它就重寫了來自該使用者角色的許可權設定。

比如有這麼個例子,假設我們有乙個應用服務,該服務對於某個使用者是沒有使用許可權的:

public async task prohibitpermission(prohibitpermissioninput input)

}使用者管理者(user manager)有許多控制使用者許可權的方法。在例子中,我們獲得了userid和permissionname,並使用prohibitpermissionasync方法禁止乙個使用者擁有某個許可權。

當我們禁止某個使用者擁有某個許可權時,即使ta的角色授予了該許可權,ta也沒有獲得這個許可權的授權。當我們特別給某個使用者授予許可權時,即使該使用者的角色沒有授予許可權,那麼該使用者也得到了該許可權的授權。我們可以使用resetallpermissionsasync為使用者刪除所有的使用者特定的許可權設定。

Module Zero之版本管理

返回 module zero學習目錄 絕大多數的saas 多租戶 應用都有多個具有不同特徵的版本 包 因此,他們可以給租戶 即客戶 提供不同的 和特徵選項。版本 edition 是乙個表示應用版本的簡單實體。它只有name和displayname屬性。editionmanager是管理版本的領域服務...

Linux許可權管理之基本許可權

一 檔案基本許可權 1.基本許可權修改 rwxr r 檔案型別 檔案 d 目錄 l 軟鏈結檔案 rw r r u所有者 g所屬組 o其他人 r 讀 w 寫 x 執行 chmod 選項 模式 檔名 選項 r 遞迴 模式 ugoa rwx mode 421 許可權的數字表示法 r 4 w 2 x 1 例...

Linux 許可權管理之基本許可權

檔案就三個許可權 所有者許可權 組許可權 其他許可權 有時候不夠用 如某個檔案許可權是770,而想讓老王有5的許可權,但是老王不是檔案所有者和所屬組 這時候就需要acl許可權,用來解決使用者身份不夠的問題。檢視分割槽acl許可權是否開啟 dumpe2fs h dev sda5注 dumpe2fs命令...