如何向数据库注册权限并授予asp.net样板中的角色

问题描述 投票:0回答:1

[嗨,请帮助我完成添加权限的步骤,并将其分配给asp.net样板中的角色。我要添加的权限是插件

 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_Plugs = "Pages.Plugs";
 }

public class SprintWebAPIAuthorizationProvider : 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_Plugs, L(name:"Plugs"), multiTenancySides: MultiTenancySides.Tenant);
        context.CreatePermission(PermissionNames.Pages_Tenants, L("Tenants"), multiTenancySides: MultiTenancySides.Host);
    }

    private static ILocalizableString L(string name)
    {
        return new LocalizableString(name, SprintWebAPIConsts.LocalizationSourceName);
    }
}
c# asp.net asp.net-web-api aspnetboilerplate asp.net-core-3.1
1个回答
0
投票

要添加许可权,您必须像创建许可权那样创建许可权常量,然后将其添加到Authorization / YourProjectAuthorizationProvider。

        var pages = context.GetPermissionOrNull(AppPermissions.Pages) ?? context.CreatePermission(AppPermissions.Pages, L("Pages"));

        var plugs = pages.CreateChildPermission(AppPermissions.Pages_Plugs, L("Plugs"));

        var plugItem = generales.CreateChildPermission(AppPermissions.Pages_Plug_PlugItem, L("PlugItem"));
        plugItem.CreateChildPermission(AppPermissions.Pages_Plug_PlugItem_Create, L("Create"));

之后,您可以创建角色并通过用户界面添加这些权限。

© www.soinside.com 2019 - 2024. All rights reserved.