配置 ASP.NET 样板授权

Configuring ASP.NET Boilerplate Authorization

我正在研究 ASP.NET Boilerplate 的使用,我注意到 ASP.NET Boilerplate 授权机制使用这样的属性:

[AbpAuthorize("CanDeletePerson")]
public async Task DeletePerson(EntityDto input)
{
   await _personRepository.DeleteAsync(input.Id);
}

例如,一个名为 'Clay' 的人拥有 CanDeletePerson 权限集。然后随后删除此权限。如何添加回权限?

免费的 Abp 模板中是否有一些管理系统/UI 设置允许配置和维护用户权限?

据我所知,只有高级 template 有一个预建的 UI 供您从一开始就使用。

对于免费版本,我们必须自己构建权限管理页面。

有个叫'HostRoleAndUserCreator'的class。找到 class,您将看到 RolePermissionSetting 如何 persisted/initialised。

您还将从 MyAppAuthorizationProvider 中看到权限本身是如何植入的。

首先要给DB添加权限,通过代码可以按照以下步骤操作:

  • 在文件 .Core\Authorization\AspNetMvc5StartUpTemplateAuthorizationProvider.cs 中,添加一行:

    context.CreatePermission("CanDeletePerson", L("CanDeletePerson"));

  • 在 .Core\Localization\Source

  • 中添加本地化文本
  • 打开网页 UI 然后转到“角色”菜单 -> 编辑角色,您将在其中看到您的新权限并将其添加到角色。

希望对您有所帮助。 干杯