Авторизация WebAPI ведёт себя как MVC - PullRequest
0 голосов
/ 09 декабря 2018

Я использую asp.core 2.1 для создания веб-API. У меня есть такой контроллер

 [Route("api")]
 [ApiController]
 public class LessonController : ControllerBase
 {

    [HttpGet]
    [Route("lessons/{id}")]
    [Authorize(Roles = "Teacher")]
    public async Task<IActionResult> GetLesson(int id)
    {
      //....
    }
 }

С атрибутом [Authorize] я просто получаю сообщение об ошибке ниже?

The default Identity UI layout requires a partial view '_LoginPartial' usually located at '/Pages/_LoginPartial' or....

Поскольку это API, я не понимаю, почему в ошибке он ищет частичные представления?

1 Ответ

0 голосов
/ 09 декабря 2018

Сообщение об ошибке, на которое вы ссылаетесь, исходит из стандартного пользовательского интерфейса ASP.NET Core Identity (в частности, оно находится на странице _Layout.cshtml здесь ).Пользовательский интерфейс по умолчанию используется, когда вы используете один из следующих параметров в Startup.ConfigureServices:

services.AddDefaultIdentity<User, Role>()
    ...

-или-

services.AddIdentity<User, Role>()
    .AddDefaultUI()
    ...

Если вы не хотите использовать пользовательский интерфейс по умолчаниювам нужно избегать использования AddDefaultIdentity и AddDefaultUI и просто использовать AddIdentity<User, Role>.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...