【问题标题】:I am trying to implement permissions in asp.net boilerplate and I can't seem to get it right我正在尝试在 asp.net 样板中实现权限,但我似乎无法正确
【发布时间】:2020-02-25 13:06:03
【问题描述】:

我收到错误消息:

未授予所需的权限。必须至少授予以下权限之一:[Plug entity]

还请就如何授予权限提出建议。

这是我的代码:

namespace Sprint.Plug
{
    [AbpAuthorize(PermissionNames.Pages_PlugEntity)]
    public class PlugAppService: AsyncCrudAppService<PlugEntity, PlugDto, Guid>, IPlugAppService
    {        
        public PlugAppService(IRepository<PlugEntity,Guid> repository):base(repository)
        {

        }        
    }
}

namespace Sprint.Authorization
{
    public static class PermissionNames
    {
        public const string Pages_Tenants = "Pages.Tenants";

        public const string Pages_Users = "Pages.Users";

        public const string Pages_Roles = "Pages.Roles";

        public const string Pages_PlugEntity = "Pages.PlugEntity";
    }
}

namespace Sprint.Authorization
{
    public class SprintAuthorizationProvider : AuthorizationProvider
    {
        public override void SetPermissions(IPermissionDefinitionContext context)
        {
            context.CreatePermission(PermissionNames.Pages_Users, L("Users"));
            context.CreatePermission(PermissionNames.Pages_Roles, L("Roles"));
            context.CreatePermission(PermissionNames.Pages_Tenants, L("Tenants"), multiTenancySides: MultiTenancySides.Host);
            context.CreatePermission(PermissionNames.Pages_PlugEntity, L("PlugEntity"), multiTenancySides: MultiTenancySides.Tenant);
        }

        private static ILocalizableString L(string name)
        {
            return new LocalizableString(name, SprintConsts.LocalizationSourceName);
        }
    }
}

【问题讨论】:

    标签: asp.net-boilerplate abp


    【解决方案1】:

    添加新权限后,您还需要在 AbpPermissions 表中创建关系。此外,如果您希望在错误消息中包含本地化,则需要在对应的 .xml 文件中添加记录。

    【讨论】:

    • 你介意展示一步一步的过程吗?建立关系
    猜你喜欢
    • 1970-01-01
    • 2022-08-19
    • 2015-04-29
    • 2013-01-09
    • 1970-01-01
    • 2012-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多