Добавить претензии к роли

Я хочу добавить претензии к каждой роли в моем проекте, а затем проверить разрешение, а не всю роль. Я прочитал статью http://benfoster.io/blog/asp-net-identity-role-claims и вижу строки:

await roleManager.AddClaimAsync(adminRole, new Claim(CustomClaimTypes.Permission, "projects.view"));
await roleManager.AddClaimAsync(adminRole, new Claim(CustomClaimTypes.Permission, "projects.create"));
await roleManager.AddClaimAsync(adminRole, new Claim(CustomClaimTypes.Permission, "projects.update"));

Я создал следующий менеджер ролей:

public class ApplicationRoleManager : RoleManager<IdentityRole>
{
    public ApplicationRoleManager(IRoleStore<IdentityRole, string> roleStore)
        : base(roleStore)
    {
    }

    public static ApplicationRoleManager Create(IdentityFactoryOptions<ApplicationRoleManager> options, IOwinContext context)
    {
        return new ApplicationRoleManager(new RoleStore<IdentityRole>(context.Get<ApplicationDbContext>()));
    }
}

и зарегистрируйте его в автозагрузке:

app.CreatePerOwinContext<ApplicationRoleManager>(ApplicationRoleManager.Create);

тогда получите это:

    public ApplicationRoleManager RoleManager
    {
        get
        {
            return _roleManager ?? HttpContext.GetOwinContext().Get<ApplicationRoleManager>();
        }
        private set
        {
            _roleManager = value;
        }
    }

но у RoleManager нет метода AddClaimAsync. Как добавить претензии к роли?

0 ответов

Другие вопросы по тегам