Как зарегистрировать разрешение на базу данных и предоставить роль в asp. net шаблоне - PullRequest
0 голосов
/ 14 марта 2020

Привет. Можете ли вы помочь мне с этапами добавления разрешений, назначьте им роль в 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);
    }
}

1 Ответ

1 голос
/ 27 марта 2020

Чтобы добавить разрешение, вам нужно создать разрешение const, как вы это сделали, а затем добавить его в 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"));

После этого вы можете создать роль и добавить эти разрешения через пользователя. интерфейс.

...