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

标签 c# asp.net asp.net-web-api aspnetboilerplate asp.net-core-3.1

您好,请您帮我完成添加权限的步骤,将它们分配给 asp.net 样板中的角色。我要添加的权限是 Plugs

 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);
    }
}

最佳答案

要添加权限,您必须像您一样创建权限常量,然后将其添加到 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"));

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

关于c# - 如何注册对数据库的权限并授予 asp.net 样板中的角色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60679340/

相关文章:

c# - 在 C# 中获取 NamedRange 控件的句柄

c# - 代码在 Visual Studio 中运行,但在同一系统中的 IIS 上托管时出现编译器错误

c# - 限制并发调用的最佳实践

c# - 如何从 URL 中删除根文件夹名称?

c# - 网络 API 2 : OData 4: Single Controller with Common Repository does not work with IQueryable when passed to the OK method

c# - 调用 C DLL 函数以从类型定义的 char 编码字符串

c# - 如何使用 C# 在列表框中水平显示数组项?

c# - 分层架构中的 Entity Framework - 要遵循的最佳实践?

asp.net-web-api - Web API 路由 404 未找到

c# - 属性路由不起作用 MVC5