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的审计日志系统。从而,自动记录的所有用户操作到数据库。