角色管理

角色实体

Role实体表示应用程序的角色。它应该来自AbpRole类,如下所示:

public class Role : AbpRole<Tenant, User>
{
    //add your own role properties here
}

下载ABP模板时将创建此类,并选择下图中的选项。

登录页面

角色存储在数据库的AbpRoles表中。您可以将自己的自定义属性添加到Role类(并为更改创建数据库迁移)。

AbpRole定义了一些属性。最重要的是:

角色用于对权限进行分组。当用户拥有角色时,他/她将拥有该角色的所有权限。用户可以拥有多个角色。此用户的权限将合并所有已分配角色的所有权限。

动态与静态角色

在模块零中,角色可以是动态的或静态的:

使用IsStatic属性为角色设置它。我们还必须在 模块PreInitialize方法中注册静态角色  假设我们对租户有一个“Admin”静态角色:

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

这样,Module Zero将了解静态角色。

默认角色

可以将一个或多个角色设置为默认值。默认情况下,默认角色分配给新添加/注册的用户。这不是开发时间属性,可以在部署后进行设置或更改。使用IsDefault属性进行设置。

角色经理

RoleManager是一种为角色执行域逻辑的服务:

public class RoleManager : AbpRoleManager<Tenant, Role, User>
{
    //...
}

您可以  注入  并使用RoleManager来创建,删除,更新角色,为角色授予权限等等。您也可以在这里添加自己的方法。您还可以根据自己的需要覆盖AbpRoleManagerbase类的任何方法。

与UserManager一样,RoleManager的某些方法也会返回IdentityResult,而不是抛出异常。有关 更多信息,请参阅  用户管理文档。

多租户

与用户管理类似,角色管理也适用于多租户应用程序中的租户。有关 更多信息,请参阅  用户管理文档。

nidie.com.cn - 用心与你沟通