【问题标题】:User identity Role用户身份角色
【发布时间】:2021-11-18 11:27:16
【问题描述】:

我正在使用 asp.net core razor 页面 我花了很多时间在这个看似简单但找不到解决方案的事情上。

创建一个项目并运行良好,登录,注册等。但授权不适用于角色。创建角色并且:

但尝试访问时总是返回 Access Denied:

现在我在 AspNetUserRoles 数据库中创建两个角色 1-Admin 2-User

这是我的代码

   [Authorize(Policy = "Admin")]
    public class AdminModel : PageModel
    {
        public void OnGet()
        {
        }
    }

在启动时是

      services.AddAuthorization(options =>
            {
                options.AddPolicy("Admin",
                     policy => policy.RequireRole("Admin"));
            });

问题总是拒绝访问?

【问题讨论】:

    标签: asp.net-core razor-pages


    【解决方案1】:

    角色的NormalizedName 应为大写 - ADMIN。最好使用RoleManager.CreateAsync API 创建角色,而不是手动添加到数据库中。

    【讨论】:

      【解决方案2】:

      我弄错了,手动填写 AspNetUserRole 和 AspNetRole,正确的方法是填写 auto throw register 页面。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-01-24
        • 2014-07-22
        • 2017-11-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-08-15
        • 2016-09-05
        相关资源
        最近更新 更多