ABP文檔筆記 - 配置、設置、版本、功能、權限

配置
全局僅一個單例,保存一組配置信息,通常直接在模塊的預啓動事件中賦值or修改。沒有Scope劃分,不管租戶仍是房東亦或者用戶讀取的值都不會有差別。每一個模塊均可以擴展這個配置。服務器

設置ide

  • 它沒有層級關係,是扁平結構。SettingProvider
  • 同一項設置能夠爲應用、每一個租戶、甚至每一個用戶設置不一樣的值。
  • 在客戶端(Javascript),咱們可使用abp.settings命名空間來獲取設置的當前值(屬性isVisibleToClients == true時)。
  • 服務器端經過SettingManager取值,經過SettingDefinitionManager獲取默認值等

版本/功能
版本配備功能。ui

應用能夠有不一樣的版本,從而提供不一樣價格和功能選項給租戶。事件

功能與設置相比:ip

  • 能夠是樹狀的層級結構。FeatureProvider
  • 也有Scope,但只有應用和租戶兩級。
  • RequiresFeature特性,FeatureChecker 檢測當前租戶是否能夠開啓了某功能,從而爲每一個租戶實現定製,至關於租戶的權限系統。
  • 在客戶端(Javascript),咱們可使用abp.features命名空間來獲取功能的當前值。
  • 服務器端經過IFeatureManager遍歷查找

權限
用來驗證一個用戶是否容許應用裏的某些指定操做,在必定程度上和Feature有些像。it

  • 能夠是樹狀的層級結構。AuthorizationProvider
  • 權限有一個屬性DependedFeature,用來代表一個對Feature的依賴,因此這個許可只有在知足Feature(特點)依賴時纔會被容許
  • AbpAuthorize特性,AbpAllowAnonymous特性,IPermissionChecker
  • Razor視圖驗證權限 @if (IsGranted("Administration.UserManagement.CreateUser"))
  • 客戶端驗證權限 abp.auth.isGranted('Administration.UserManagement.CreateUser');
  • 服務器端經過IPermissionManager遍歷查找
相關文章
相關標籤/搜索