如何在 asp.net boilerplate 中为数据库注册权限并授予角色

3

你好,我可以帮助你翻译在ASP.NET Boilerplate中添加权限并将其分配给角色的步骤。我要添加的权限是插件。

 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个回答

2

要添加权限,您需要像创建常量一样创建权限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"));

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接