Я пытаюсь создать простой веб-API с контроллером на основе одного класса модели.
Я добавил AddIdentity
в Startup.cs
, создал две роли пользователя и попытался авторизовать действие в контроллере, чтобы он мог быть специально доступен для одной из двух ролей.Тем не менее, независимо от того, что я пытаюсь использовать для его проверки, это всегда приводит к ошибке, когда в ответе говорится, что сервер даже не выполняет указанное действие.До сих пор я пытался использовать Postman и Swagger UI, ни один из которых не дал мне правильного ответа.
Действие, к которому я пытаюсь получить доступ, будет таким:
// GET api/media
[HttpGet]
[Authorize(Roles = "Member")]
public IEnumerable<Media> Get()
{
return _mediaData.Get();
}
Вот какЯ добавил поддержку идентификации в класс Startup.cs
:
services.AddIdentity<User, Role>(config => { config.SignIn.RequireConfirmedEmail = false; })
.AddEntityFrameworkStores<ApplicationDbContext>()
//.AddDefaultUI()
.AddDefaultTokenProviders();
То, что я ожидал, было объектом JSON, но в результате Swagger выдает мне сообщение об ошибке, в котором говорится, что я ожидал входа в систему, ноЯ не уверен, как я могу это сделать.Полагаю, мне нужно больше узнать о SignIn и UserManager, но я понятия не имею, как мне «войти в систему и открыть сессию» (это то, что, я полагаю, решит проблему), и я не смог найти какой-либо ресурс, объясняющийкак это сделать, тем более как получить результат через Почтальон или Swagger UI.