Это мой первый проект такого рода.
Проблема:
Моим клиентам необходимо отображать сделки для своих клиентов в мобильном приложении Xamarin. Мобильное приложение извлекает данные (сделки) из базы данных Azure через Rest Api и отображает их пользователям. Клиенты, которые хотят продвигать свои сделки, должны иметь портал для загрузки / обновления новых сделок в базу данных, которую, в свою очередь, отображает мобильное приложение. Для этого портала я подумываю использовать проект Net Core MVC.
Здесь возникает мой вопрос об аутентификации на основе ROLE. Различные клиенты могут выполнять операции CRUD с определенными данными только из база данных:
1. Следует ли Net Core MVC выполнять аутентификацию, ссылаясь на таблицу Users в базе данных, и предоставлять доступ в соответствии с ролями?
2. Должен ли Net Core MVC просто использовать HTTP-запросы для вызова Net Core Web Api, передавать учетные данные в API и возвращать токен, который будет определять доступ на основе ролей? Так должна ли аутентификация оставаться в ответственности api, а MVC просто выполняет операции CRUD на основе уровня доступа? Более того, должен ли проект MVC вызывать Rest API для всех операций CRUD?
Я не уверен, какой «правильный» способ для этой архитектуры с точки зрения безопасности, и просто общий модульный дизайн. Любая помощь приветствуется.