Created
August 8, 2015 23:19
-
-
Save xto3na/d161b99a689f55cf3c24 to your computer and use it in GitHub Desktop.
ASP.NET Совмещение системы аутентификации со своей бд.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Сам же вопрос заключается в том, как объединить классы, созданные Identity (т.е. информацию об аккаунтах) и существующую базу данных | |
Почитай Julie Lerman. Code First Approach. Глава 5 - "Using Conventions and Configurations | |
for Database Mappings". Там всего 28 страниц. Старая БД в своей основной таблице должна иметь определенные поля, необходимые для Asp Identity. Поэтому, чтобы не ковырять схему старой БД, проще создать новую и ручками скопировать данные из старой. | |
Текущая версия Asp.net identity создает 5 таблиц: (далее дефолтные имена, которые можно переопределить) | |
1.AspNetUsers - основная таблица с пользователями. Cхема таблицы соответствует типу IdentityUser. | |
2.AspNetRoles - таблица с ролями для Role-based authentication. | |
3.AspNetUserRoles - join-таблица для Ролей и Пользователей. | |
4.AspNetUserClaims - таблица для хранения Claims. - IdentityUserClaim<TKey> | |
5.AspNetUserLogins - таблица для хранения, скажем так, различных способов входа. Cхема соответствует типу IdentityUserLogin<TKey>. | |
4 и 5 используются для Claims-based authentication. Про claims хорошо объясняется тут. | |
По факту все, что вам нужно сделать, это: | |
1. Создать класс, производный от IdentityUser. Добавить в него соответствующие свойства, отображающиеся на столбцы основной таблицы пользователей из старой БД. - для этого надо их явно сконфигурировать. | |
2. Создать копию старой базы. | |
3. Создать новую базу. | |
4. Ручками скопировать уже имеющиеся данные из старой базы в новую. | |
5. Профит. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment