返回總目錄:ABP+AdminLTE+Bootstrap Table權限管理系統一期
1.1 ABPZero - 概述
- 介紹
- 微軟ASP.NET身份框架
- 權限
- 會話
- 角色管理
- 默認角色
- 用戶管理
- 多租戶
- 設置管理
- 審計日志
1.1.1 介紹
Modulde Zero實現了ASP.NET Boilerplate框架的基本概念,如租戶管理(多租戶),角色管理,用戶管理,會話,授權(許可系統),設置管理和審計日志。
1.1.2 微軟ASP.NET身份框架
Modulde Zero是基於微軟的ASP.NET身份框架。它擴展了用戶和角色管理者和使用泛型倉儲實現了用戶和角色存儲。它支持可被ASP.NET使用的任意ORM(如Entity Framework和NHibernate)。
當module zero擴展身份框架,它有許多獨特的特性:
1.1.3 權限
在ASP.NET Boilerplate系統,用戶通過權限授權。權限是應用程序的特定功能的特定特權。它可以是“進入一個特定網頁”,或“在頁面執行某些特定操作”或更一般的訪問權(例如下載的應用程序的excel文件)。有關詳細信息,請參閱授權文件。
1.1.4 會話
Module zero實現了IAbpSession。你可以注入,你可以隨時隨地注入它來獲取當前用戶和租戶的ID。
1.1.5 角色管理
角色是用來分組權限的。當用戶有一個的角色,那么他/她將擁有該角色的所有權限。在module-zero中,角色可以是動態或靜態的:
靜態角色:靜態角色有一個已知的名字(如“管理員”),不能更改此名稱(我們可以更改顯示名稱)。它存在於系統啟動時,不能被刪除。因此,我們可以寫基於靜態角色名稱代碼。
動態(非靜態)角色:我們可以創建部署后,一個充滿活力的作用。然后,我們可以授予該角色的權限,我們可以指定角色的一些用戶,我們可以將其刪除。我們無法知道在開發時間動態的角色名稱。
1.1.6 默認角色
一個或多個角色可被設置為默認角色。默認的角色分配給新增/注冊用戶為默認值。這不是一個開發時間屬性,可以部署之后被設置或改變。
1.1.7 用戶管理
用戶是可以登錄到應用程序的人,並基於其權限執行某些操作。
用戶可以具有零個或多個角色。用戶將繼承他所有角色的權限的聯合。另外,我們可以設置用戶特定的權限。用戶特定的權限設置將覆蓋角色設置的權限。
1.1.8 多租戶
百科:多租戶是指一個軟件以單個實例運行在一個服務器上,並為多個租戶(顧客)服務的軟件架構。
ASP.NET Boilerplate提供了 module-zero實現多租戶的支持。因此,我們可以有一個應用程序部署到單一的環境,同時被多個客戶(承租人)使用。
租戶可以擁有它自己的角色,用戶和設置。它不限制角色,用戶和設置。我們可以為特定的租戶實體實現IMustHaveTenant和IMayHaveTenant。 當租戶用戶登錄時ASP.NET Bolierplate自動隱藏(過濾器)其他租戶的實體。參照數據過濾器的文檔。
1.1.9 設置管理
Module zero實現了ASP.NET Boilerplater 設置存儲來存儲/檢索設置到/從數據庫。請參閱設置文檔的詳細信息。
1.1.10 審計日志
Module zero實現了ASP.NET Bolierplate的審計日志系統。從而,自動記錄的所有用戶操作到數據庫。
