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