Мне нужно создать приложение Web API С# для существующей базы данных MySQL. Мне удалось использовать Entity Framework 6 для привязки каждой таблицы базы данных к RESTful API (который позволяет выполнять операции CRUD).
Я хочу внедрить систему регистрации/регистрации (чтобы я мог выполнять роли и разрешения в будущем и ограничивать определенные запросы API).
В базе данных MySQL, которую я должен использовать, есть таблица для пользователей (называемая user
), которая содержит следующие пояснительные столбцы:
-
id
-
email
-
username
-
password_hash
Похоже, что де-факто стандартом аутентификации является ASP.Net Identity. Я провел последний час, пытаясь выяснить, как сделать работу Identity с существующей настройкой DB-First Entity Framework.
Если я попытаюсь построить ApplicationUser
экземпляры, хранящие экземпляры user
(объекты из базы данных MySQL) для извлечения пользовательских данных, я получаю следующую ошибку:
Тип объекта ApplicationUser не является частью модели для текущего контекста.
Я предполагаю, что мне нужно хранить данные Identity в моей базе данных MySQL, но не могу найти какой-либо ресурс о том, как это сделать. Я попытался полностью удалить класс ApplicationUser
и сделать мой класс user
сущностью из IdentityUser
, но вызов UserManager.CreateAsync
привел к ошибкам преобразования LINQ to Entities.
Как настроить аутентификацию в приложении Web API 2, имеющем существующий объект user
?