【问题标题】:Configuring ASP.NET Boilerplate Authorization配置 ASP.NET 样板授权
【发布时间】:2018-06-20 07:16:01
【问题描述】:

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

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

假设一个名为“Clay”的人拥有CanDeletePerson 权限集。然后随后删除此权限。如何重新添加权限?

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

【问题讨论】:

  • 权限名称在代码中定义。零模块模板鼓励使用角色而不是直接配置用户权限。如果你不想这样做,你必须自己实现 UI。

标签: aspnetboilerplate


【解决方案1】:

首先你必须给数据库添加权限,通过代码你可以按照以下步骤操作:

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

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

  • 在 .Core\Localization\Source 中添加本地化文本

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

希望对您有所帮助。 干杯

【讨论】:

  • 谢谢,它可以工作。但我不知道它在程序中是如何工作的。我应该仔细看看。
【解决方案2】:

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

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

有一个名为“HostRoleAndUserCreator”的类。找到那个类,你会看到 RolePermissionSetting 是如何被持久化/初始化的。

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

【讨论】:

  • ,谢谢您的回复。但是您有什么好主意在此处的 AbpAuthorize 类中配置“CanDeletePerson、CanAddPerson 等”吗?
猜你喜欢
  • 2015-11-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-11
  • 1970-01-01
  • 1970-01-01
  • 2014-07-26
  • 2014-12-23
相关资源
最近更新 更多