как сделать управление пользователями с помощью identityserver4 и asp.netcore - PullRequest
0 голосов
/ 26 октября 2019

Я строю систему из 3-х проектов и пытаюсь реализовать управление пользователями. У меня есть 3 проекта, MVC ядра asp.net, веб-API ядра asp.net и сервер удостоверений4. Я хочу использовать основной идентификатор asp.net для управления пользователями, потому что фреймворк предоставляет многое, но я не знаю, где его разместить. Сама система пока не большая, но я хочу, чтобы она была масштабируемой в будущем. Я читал, что единственное, что должен делать сервер удостоверений, - это аутентификация и авторизация, а не работа с частью управления пользователями (создание пользователей, изменение прав и т. Д.)

В самой системе мне нужноиметь администратора, который имеет доступ к пользователям (через интерфейс MVC) и может создавать новых или удалять пользователей и т. д.

, поэтому вопрос заключается в том, должен ли я реализовать все функции управления пользователями, которые идентифицируют ядро ​​asp.netобеспечивает в проекте identityserver4 или я должен встроить его в веб-API и получить доступ к одной и той же базе данных для двух проектов. Я не хочу четвертый проект только для управления пользователями, хотя я знаю, что это идеальное решение. В настоящее время приложение mvc подключается к веб-API только с токеном-носителем, предоставленным сервером идентификации.

Или я должен пойти в новом направлении и использовать идентификаторы ядра jwt и asp.net и иметь только два проекта?

Я очень смущен этой частью, и я хочу знать, что является лучшей практикой.

1 Ответ

0 голосов
/ 26 октября 2019

Только проект Identity Server (и любые связанные с ним проекты) должны иметь доступ к базе данных пользователей. Вся информация о пользователях, необходимая клиенту или ресурсу API, должна быть получена от самого IS.
Теперь правильная настройка Identity Server зависит от ваших потребностей. Если вы хотите использовать простой для нескольких приложений, выберите один проект, который может входить в систему пользователей и регистрировать их, а также настраивать свои клиенты и ресурсы API в файлах config.cs. Это не лучший способ сделать это, хотя. Как правило, у вас должен быть проект IS для входа и регистрации пользователей, а также еще один проект, который управляет этими пользователями, а также клиентами и ресурсами API. Вы можете увидеть отличный пример этого здесь , он также использует ASP.NET Identity и имеет проект STS (Identity Server), проект Admin (пользователь, клиент, менеджер API) и проект API (длявсе связанные с БД доступа). Надеюсь, это поможет.

...