番外篇--Moddule Zero介绍
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的审计日志系统。从而,自动记录的所有用户操作到数据库。
番外篇--Moddule Zero介绍的更多相关文章
- 番外篇--Moddule Zero多租户管理
番外篇--Moddule Zero多租户管理 2.1.1 关于多租户 强烈建议阅读这个文件前阅读多租户文档. 2.1.2 启用多租户 ASP.NET Boilerplate和module-zero可以 ...
- 番外篇--Moddule Zero 版本管理与组织单位管理
Moddule Zero 版本管理 2.2.1 简介 大多数SaaS(多租户)应用都会有多个版本(包),这些版本的功能点也会各不相同.因此,他们能够为他们的租户(客户)提供不同的价格和功能点选项. 关 ...
- 番外篇--Moddule Zero安装
Moddule Zero 安装 1.2.1 从模板创建 使用ABP和module-zero开始一个新项目最简单的方式是使用启动模板.详细了解请参考启动模板文档. 1.2.2 手动安装 如果你有一个预先 ...
- [uboot] (番外篇)global_data介绍(转)
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/ooonebook/article/det ...
- 番外篇--Moddule Zero启动模板
1.3 ABPZero - 启动模板 1.3.1 简介 使用ABP和moudle-zero开始一个新项目的最简单的方式是在模板页创建模板.记住要勾选 Include module zero. 在创建并 ...
- [uboot] (番外篇)uboot之fdt介绍
http://blog.csdn.net/ooonebook/article/details/53206623 以下例子都以project X项目tiny210(s5pv210平台,armv7架构)为 ...
- [uboot] (番外篇)uboot之fdt介绍 (转)
以下例子都以project X项目tiny210(s5pv210平台,armv7架构)为例 [uboot] uboot流程系列:[project X] tiny210(s5pv210)上电启动流程(B ...
- [uboot] (番外篇)uboot串口&console&stdio设备工作流程 (转)
[uboot] uboot流程系列:[project X] tiny210(s5pv210)上电启动流程(BL0-BL2)[project X] tiny210(s5pv210)从存储设备加载代码到D ...
- [uboot] (番外篇)uboot 驱动模型(转)重要
[uboot] uboot流程系列:[project X] tiny210(s5pv210)上电启动流程(BL0-BL2)[project X] tiny210(s5pv210)从存储设备加载代码到D ...
随机推荐
- 3.sass的数据类型与函数
数据类型 在sass里有数字.字符串.列表.颜色等类型 在cmd里 输入 sass -i 就会进入到交互模式,输入的计算可以马上得到结果 type-of()可以用来得到数据类型,如: type-of( ...
- Java NIO (四) 选择器(Selector)
选择器(Selector) 是 SelectableChannle 对象的多路复用器,Selector 可以同时监控多个 SelectableChannel 的 IO 状况,也就是说,利用 Selec ...
- for 在项目实战中用的比较多
for循环编程语言中的语句之一,用于循环执行.for循环是开界的,它的一般形式为: for(; <条件表达式>; ) 语句: 初始化通常是一个赋值语句, 它用来给循环控制变量赋初值: 条件 ...
- MySQL: Integer & String types
Type Storage(bytes) Minimum Value Maximum Value TINYINT 1 -128/0 127/255 SMALLINT 2 -23768/0 23767/6 ...
- shell日志删除(超容量&自动)
背景:避免双十一磁盘被打爆,本想通过crontab执行,但是删除需要密码,所以用作当机器磁盘高于摸个阈值,进行无关性日志强删 #!/bin/sh #use #sh clean.sh wmporder_ ...
- Git详解之四:服务器上的Git
服务器上的 Git 到目前为止,你应该已经学会了使用 Git 来完成日常工作.然而,如果想与他人合作,还需要一个远程的 Git 仓库.尽管技术上可以从个人的仓库里推送和拉取修改内容,但我们不鼓励这样做 ...
- 【自问自答】关于 Swift 的几个疑问
感觉自己给自己释疑,也是一个极为有趣的过程.这次,我还新增了"猜想"一栏,来尝试回答一些暂时没有足够资料支撑的问题. Swift 版本是:4.0.3.不同版本的 Swift,可能无 ...
- asp.net MVC里的 ModelState使用方法
https://www.cnblogs.com/hohoa/p/5839993.html if (!ModelState.IsValid) { string error = string.Empty; ...
- iOS获取各种数据方法整理以及IDFA与IDFV使用环境
iOS获取APP版本号: NSString *AppVersion = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBun ...
- SQL Server 禁用扩展存储过程
概述 扩展存储过程是 SQL Server 实例可以动态加载和运行的 DLL.扩展存储过程是使用 SQL Server 扩展存储过程 API 编写的,可直接在 SQL Server 实例的地址空间中运 ...