Почему он показывает, что доступ запрещен, когда пользователь находится в правильной роли?

#c# #asp.net-mvc #asp.net-core #authorization #asp.net-identity

Вопрос:

Я добавил ролевую авторизацию в свой проект MVC и добавил роль своему пользователю, но на странице все еще написано «Доступ запрещен». Вот некоторые из моих кодов:

Startup.cs

 builder.ConfigureServices((context, services) => {
                services.AddDbContext<AuthDbContext>(options =>
                    options.UseSqlServer(
                        context.Configuration.GetConnectionString("DefaultConnection")));

                services.AddDefaultIdentity<ApplicationUser>(options =>
                    {
                        options.SignIn.RequireConfirmedAccount = false;
                        options.Password.RequireLowercase = true;
                        options.Password.RequireUppercase = true;
                        options.Password.RequireDigit = true;
                     })
                    .AddRoles<IdentityRole>()
                    .AddRoleManager<RoleManager<IdentityRole>>()
                    .AddDefaultTokenProviders()
                    .AddEntityFrameworkStores<AuthDbContext>();
            });
 

Пример Авторизации Контроллера

 
    [Authorize(Roles = "Coach")]
    public class ScheduleController : Controller
    {
        private readonly ApplicationDbContext _db;
        private readonly IWebHostEnvironment WebHostEnvironment;

        public ScheduleController(ApplicationDbContext db, IWebHostEnvironment webHostEnvironment)
        {
            _db = db;
            WebHostEnvironment = webHostEnvironment;
        }

        [AllowAnonymous]
        public IActionResult Index()
        {
 

С SQL Server:

Идентификатор пользователя — Пользователи AspNetUsers

Идентификатор пользователя

Информация о роли — AspNetRoles

Роль

Роль пользователя — AspNetUserRoles

Роль пользователя

Комментарии:

1. По многим причинам. Прежде всего, используете ли вы стандартные страницы входа в .net или внесли изменения. Вы пробовали отладку при входе в систему, чтобы убедиться, что роли загружены, если вы не используете стандартный вход.