Я немного смущен тем, почему в последнем шаблоне веб-API ASP.NET не существует отдельного параметра аутентификации учетных записей пользователей.Аутентификация отдельной учетной записи пользователя в шаблоне ASP.NET Core Web API
Возможно ли реализовать отдельные учетные записи пользователей так, как это делает шаблон MVC или это не имеет смысла?
Предположим, что я создаю автономный веб-API, который будет иметь всю мою бизнес-логику и уровень данных, который обращается к базе данных, которая имеет таблицы AspNet Identity. Я планирую звонить на этот API с помощью приложения MVC.
Я знаю, что один из способов сделать это - создать приложение ASP.NET MVC с отдельными учетными записями пользователей и просто построить API прямо в приложении MVC с помощью папки контроллеров/api. Тем не менее, я не хочу этого делать, потому что я хочу, чтобы API был его собственным автономным проектом, который можно размещать на совершенно другом сервере и получить доступ к нескольким приложениям, а не только к приложению MVC.
Может ли кто-нибудь привести меня в правильном направлении, как аутентификация обычно работает в этом сценарии, поскольку нет шаблона?
Вы можете скопировать соответствующие биты, но WebAPI и MVC, по существу, одного API в настоящее время. Разница только в том, что у вас нет представлений и как настроен маршрут по умолчанию. Для WebAPI вам обычно не нужны отдельные учетные записи, поскольку по умолчанию у него нет средств для создания учетных записей (которые встроены в шаблон MVC). Вероятно, вы хотите использовать аутентификацию OAuth или OpenID для WebAPI, а не аутентификацию с помощью имени пользователя и пароля. Поскольку ASP.NET Core больше не предлагает никакого промежуточного программного обеспечения OAuth Server, вам необходимо использовать OpenIddict или IdentServer4 для авторизации – Tseng
Так что индивидуальные учетные записи бессмысленны в шаблоне WebAPI – Tseng
@Tseng спасибо за ответ. Так что я все еще не понимаю следующее: Допустим, мое приложение MVC имеет форму входа. Эта форма входа должна отправлять какой-либо запрос ajax с именем пользователя и паролем в api для прав на аутентификацию и авторизацию? Тогда API отвечает, а cookie или что-то установлено? Я просто хочу убедиться, что я в правильном мышлении и на правильном пути. –