Подтвердить что ты не робот

Нет отдельной учетной записи пользователя учетных записей пользователей в шаблоне ASP.NET Core Web API

Я немного смущен тем, почему в последнем шаблоне веб-API ASP.NET не существует индивидуальной аутентификации учетных записей отдельных пользователей.

Возможно ли реализовать отдельные учетные записи пользователей так, как это делает шаблон MVC или это не имеет смысла?

Скажем, я создаю автономный веб-API, который будет иметь всю мою бизнес-логику и уровень данных, который обращается к базе данных, которая имеет таблицы AspNet Identity. Я планирую звонить на этот API с помощью приложения MVC.

Я знаю, что один из способов сделать это - создать приложение asp.net MVC с отдельными учетными записями пользователей и просто создать API прямо в приложении MVC с помощью папки контроллеров /api. Однако я не хочу этого делать, потому что я хочу, чтобы API был его собственным автономным проектом, который может быть размещен на совершенно другом сервере и доступ к нему несколькими приложениями, а не только с помощью приложения MVC.

Может ли кто-нибудь привести меня в правильном направлении, как аутентификация обычно работает в этом сценарии, поскольку нет шаблона?

4b9b3361

Ответ 1

Индивидуальная проверка подлинности учетных записей пользователей для ASP.NET Core Web API доступна в .NET Core 2.0 Preview 1.

К сожалению,.NET Core 2.0 Preview 1 не доступен в версии VS 2017.

Но вы можете установить Visual Studio 2017 Preview (вы можете использовать его бок о бок со стабильной версией VS 2017): введите описание изображения здесь

Ответ 2

Я думаю, вы можете использовать IdentityServer4, который позволяет реализовать единый вход и контроль доступа для веб-интерфейсов ASP.NET Core, используя такие протоколы, как OpenID Connect и OAuth2. Он предлагает интеграцию с Core Identity ASP.NET и ядром Entity Framework Core.

Вам нужно будет установить следующий пакет nuget:

Install-Package IdentityServer4

и добавьте промежуточное ПО IdentityServer в конвейер HTTP:

app.UseIdentityServer();

Вы можете найти несколько примеров быстрого запуска здесь или следовать this.