@Alarih1

Как сделать так что бы работал [Authorize(Roles = "Administrator")]?

Есть веб-приложение MVC. Сделал реконструкцию модели базы данных как сказано в статье: https://docs.microsoft.com/ru-ru/ef/core/get-start... Реконструировал таблицы: AspNetUsers, AspNetUserRoles, AspNetRoles. Создал им вьюшки для добавления, редактирования, удаления, просмотра деталей. Все добавляется и редактируется. Но при попытке задать [Authorize(Roles = "Administrator")], программа не пускает ни одного пользователя, хотя такая роль есть в БД и связь ID роли и ID пользователя тоже прописана в таблице, при этом если оставить [Authorize] то все работает, т.е. пользователь успешно проходит проверку авторизации. Но вот почему то не видит распределения ролей. Я так понимаю это где то нужно прописать, но где и как ума не приложу. Что мне делать?
  • Вопрос задан
  • 173 просмотра
Решения вопроса 1
@Alarih1 Автор вопроса
Сам спросил, сам ответил...
services.AddDefaultIdentity<IdentityUser>()
                .AddRoles<IdentityRole>()
                .AddDefaultUI(UIFramework.Bootstrap4)
                .AddEntityFrameworkStores<ApplicationDbContext>();

нужно было всего лишь добавить в класс Startup.cs в метод ConfigureServices: .AddRoles<IdentityRole>()
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы