0

我正在为 .NET Core 使用 ASP.NET 零 MVC/jQuery 版本。

我正在尝试从主机端的控制器为租户创建组织单元 (OU),但遇到了问题。

以下代码行:

await _organizationUnitAppService.CreateOrganizationUnit(organizationUnitDto);

生成以下错误:

未授予所需的权限。必须至少授予以下权限之一: 管理组织树

我正在使用的完整代码:

CreateOrganizationUnitInput organizationUnitDto = new CreateOrganizationUnitInput()
{
    DisplayName = OUCode
};

var user = _userManager.FindByNameAsync(TenantName);
using (_session.Use(TenantID, user.Id))
{
    try
    {
        await _organizationUnitAppService.CreateOrganizationUnit(organizationUnitDto);
    }
    catch(Exception ex)
    {
        var e = ex.Message.ToString();
    }
}
4

1 回答 1

0

_organizationUnitAppService.CreateOrganizationUnit具有以下AbpAuthorize属性:

[AbpAuthorize(AppPermissions.Pages_Administration_OrganizationUnits_ManageOrganizationTree)]
public async Task<OrganizationUnitDto> CreateOrganizationUnit(CreateOrganizationUnitInput input)

授予Managing organization tree用户权限:

var user = _userManager.FindByNameAsync(TenantName);
var permission = _permissionManager.GetPermission(AppPermissions.Pages_Administration_OrganizationUnits_ManageOrganizationTree) // Add this
await _userManager.GrantPermissionAsync(user, permission); // Add this

using (_session.Use(TenantID, user.Id))
{
    try
    {
        await _organizationUnitAppService.CreateOrganizationUnit(organizationUnitDto);
    }
    catch(Exception ex)
    {
        var e = ex.Message.ToString();
    }
}
于 2021-09-23T15:35:16.563 回答