Я пытаюсь изучить веб-API и MVC. Я изначально создал базовый проект MVC. Теперь в папке контроллеров я добавил контроллер WebAPI.
В контроллере WebAPI я добавил следующий код
public class SampleController : ApiController
{
[HttpPost]
public IHttpActionResult SampleData()
{
var userID = User.Identity.GetUserId();
return Ok();
}
}
Метод User.Identity.GetUserId () прекрасно работает в MVC.
Я искал около SO и нашел следующую ветку
Метод User.Identity.GetUserId () не работает в контроллере Web Api 2
Это было не так полезно для меня, так как в моем случае я добавил контроллер API как часть самого проекта MVC в папку контроллеров. Я не создал отдельный проект для WebAPI.
Вышеупомянутый поток говорит о том, что токен доступа уже присутствует в коде, тогда как в моем случае я нигде не вижу этот код, поскольку я только добавил только один контроллер веб-API.
Я использую POSTMAN для вызова API.
Я также посмотрел на следующую ссылку
https://docs.microsoft.com/en-us/aspnet/web-api/overview/security/individual-accounts-in-web-api
В этом случае также идет речь об отдельном проекте WebAPI, а не об одном контроллере.
Если я где-то ошибаюсь, пожалуйста, наведите меня на то же самое.