返回《Module Zero学习目录》


角色实体

角色实体代表了该应用的一个角色。它应该派生自AbpRole类,如下所示:

public class Role : AbpRole<Tenant, User>
{
//这里添加你自定义的角色属性
}

该类是当你安装module-zero时创建的。角色数据存储在数据中的AbpRoles表。你可以在Role类中添加自定义的属性。

AbpRole定义的最重要的一些属性包括:

  • Name:租户中角色的唯一名字。
  • DisplayName:角色中显示的名字。
  • IsDefault:表示该角色是否是默认赋给新用户的。
  • IsStatic:表示该角色是否是静态的(预生成的和不能删除的)。

角色是用来组合权限的。当一个用户有了一个角色之后,那Ta将会获得该角色的所有权限。一个用户可以有多个角色。用户的权限是该用户所拥有角色的所有权限的并集。

动态角色 vs 静态角色

在Module-zero中,角色可以是动态的或静态的:

  • 静态角色 :静态角色有一个已知的名字(比如‘admin’),且以后不能改变这个名字(可以改变要显示的名字)。在系统启动的时候它已经存在了,并且不能删除。因此,我们可以基于一个静态的角色名写代码。
  • 动态(非静态)角色:部署之后,我们可以创建动态的角色。然后我们可以为这个角色授予权限,我们也可以把该角色赋予其他用户,还可以删除它。在开发的时候,我们可以不知道动态角色的名字。

使用IsStatic属性设置角色是静态的还是动态的。还有,我们应该在模块的PreInitialize上注册静态角色。假设我们给租户一个"Admin"静态角色:

Configuration.Modules.Zero().RoleManagement.StaticRoles.Add(new StaticRoleDefinition("Admin", MultiTenancySides.Tenant));

这样,module-zero就知道该静态的角色了。

默认角色

可以设置一个或多个角色为默认角色。默认情况下,默认角色赋予新添加的或新注册的用户。这不是一个开发时属性,并且可以在发布后设置或者改变。使用IsDefault属性设置默认角色。

角色管理者

角色管理者是执行角色领域逻辑的服务:

public class RoleManager : AbpRoleManager<Tenant, Role, User>
{
//这里可以添加自己的代码
}

你可以注入角色管理者,然后使用它创建,删除,更新角色,为用户授权以及更多。你可以在这里添加你自己的方法。而且,可以重写AbpRoleManager基类中的任何方法来满足自己的需求。

像用户管理者一样,角色管理者中的一些方法也返回IdentityResult作为结果,而不是抛出一些情况下的异常。查看《用户管理》获取更多信息。

多租户

和用户管理相似,角色管理曾将也是在多租户应用中为单租户服务的。查看《用户管理》获取更多信息。

Module Zero之角色管理的更多相关文章

  1. SQL Server 2012 新特性:服务角色管理

    数据库角色管理,已经可以使用alter role,create role和drop role. 2012增加了几个ddl语句,可以操作服务级别的角色管理,   CREATE SERVER ROLE 用 ...

  2. 七天学会ASP.NET MVC (五)——Layout页面使用和用户角色管理

    系列文章 七天学会ASP.NET MVC (一)——深入理解ASP.NET MVC 七天学会ASP.NET MVC (二)——ASP.NET MVC 数据传递 七天学会ASP.NET MVC (三)— ...

  3. roleManager与角色管理授权

    总览地址 https://msdn.microsoft.com/zh-cn/library/9ab2fxh0.aspx 其中基本概述是第一篇:了解角色管理 来自 <https://msdn.mi ...

  4. 安装 SQL SERVER 2008 必须使用 "角色管理工具" 错误 的 解决方案 (转)

    刚在服务器(Win2008)上安装SqlServer2008的时候出现了这么一个报错——必须使用“角色管理工具”安装或配置Microsoft .NET Framework 3.5 SP1.一开始以为是 ...

  5. RDIFramework.NET ━ 9.4 角色管理 ━ Web部分

    RDIFramework.NET ━ .NET快速信息化系统开发框架 9.4 角色管理 -Web部分 角色管理模块主要为了方便框架权限的分配,提高权限分配的效率,减少重复设置权限的工作量.角色(用户组 ...

  6. 必须使用“角色管理工具”安装或配置Microsoft .NET Framework 3.5 SP1

    在Windows Server 2008下直接安装SQL Server 2008时,会出现如下错误: 必须使用“角色管理工具”安装或配置Microsoft .NET Framework 3.5 SP1 ...

  7. 基于吉日嘎底层架构的Web端权限管理操作演示-角色管理

    上一篇介绍了用户管理,这篇来介绍角色管理,这是权限管理的核心部分,因为我们的权限管理系统是基于角色的,有个高大上的英文名叫RBAC(Role Based Acccess Control). 下面的这段 ...

  8. Oracle用户、权限、角色管理(转)

    http://blog.csdn.net/junmail/article/details/4381287 Oracle 权限设置一.权限分类:系统权限:系统规定用户使用数据库的权限.(系统权限是对用户 ...

  9. 解决【必须使用“角色管理工具”安装或配置Microsoft .NET Framework 3.5 SP1】的方法

    [摘要:正在Windows Server 2008下间接装置SQL Server 2008时,会涌现以下毛病: 必需应用“脚色治理对象”装置或设置装备摆设Microsoft .NET Framewor ...

随机推荐

  1. CSS3简单的栅格系统

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. Java 之 常用类(一)

    1.字符串: a.分类:String.StringBuffer.StringBuilder b.特殊:①String是唯一一个可以直接用常量赋值的引用数据类型 ②String的常量也是一个对象 (即 ...

  3. centos添加和删除用户及 xxx is not in the sudoers file.This incident will be reported.的解决方法

    修改主机名:vim /etc/sysconfig/network 1.添加用户,首先用adduser命令添加一个普通用户,命令如下: #adduser tommy //添加一个名为tommy的用户 # ...

  4. Oracle VM VirtualBox 安装CentOS 配置图形界面记录

    su yum groupinstall "X Window System" -y yum groupinstall "Desktop" -y 最后运行#star ...

  5. Servlet规范简介——web框架是如何注入到Servlet中的

    Servlet规范简介--web框架是如何注入到Servlet中的 引言 Web框架一般是通过一个Servlet提供统一的请求入口,将指定的资源映射到这个servlet,在这个servlet中进行框架 ...

  6. 【转载】Java集合类Array、List、Map区别和联系

    Java集合类主要分为以下三类: 第一类:Array.Arrays第二类:Collection :List.Set第三类:Map :HashMap.HashTable 一.Array , Arrays ...

  7. HDU5909 Tree Cutting(树形DP + FWT)

    题目 Source http://acm.hdu.edu.cn/showproblem.php?pid=5909 Description Byteasar has a tree T with n ve ...

  8. 2016 Multi-University Training Contest 2 D. Differencia

    Differencia Time Limit: 10000/10000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Tot ...

  9. Django 1.7 throws django.core.exceptions.AppRegistryNotReady: Models aren't loaded yet

    在程序中要添加django.setup() 整个程序如下所示 import os import django def populate(): python_cat = add_cat('Python' ...

  10. 洛谷 P2726 阶乘 Factorials Label:Water

    题目背景 N的阶乘写作N!,表示小于等于N的所有正整数的乘积. 题目描述 阶乘会变大得很快,如13!就必须用32位整数类型来存储,到了70!即使用浮点数也存不下了. 你的任务是找到阶乘最前面的非零位. ...