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遍历查找
相关文章
相关标签/搜索