Веб-приложение с регистрацией / авторизацией для нескольких типов пользователей. - PullRequest
0 голосов
/ 03 мая 2020

Для моего проекта интернет-приложения стажировки для школы существует три типа пользователей:

  • Учитель
  • Ученик
  • Бизнес

Каждый из этих трех классов с уникальными свойствами. Все три из них наследуются от одного и того же класса под названием «Пользователь». Класс User содержит свойства, которые имеют все три класса, поэтому они наследуют этот класс.

В моем проекте я использую Entity Framework. Поэтому в своей базе данных я подумал, что мне понадобятся четыре таблицы: пользователь, учитель, студент и бизнес. Между пользователем и другими классами существует отношение один к одному. Однако для моей системы входа в систему / регистрации в веб-приложении я использую класс IdentityUser (IdentityUser, чтобы быть более точным c), который наследует пользователь. Это приводит к тому, что в таблицу «Пользователь» в моей базе данных добавляется немного больше строк (в таблицах «Ученик, Учитель и Бизнес» ничего не меняется).

Если регистрация указывает, что новая учетная запись должна быть учителем, тогда учитель должен быть сохранены в базе данных. Таблица «Пользователь» будет обновлена ​​данными, которые представляет пользовательская часть класса «Учитель», а таблица «Учитель» должна быть обновлена ​​данными, уникальными для учителя. Как я уже сказал, это отношение один на один, и, естественно, обе строки имеют один и тот же первичный ключ, который представляет собой Guid (преобразуется в строку, поскольку она сохраняется в базе данных)

Но у меня есть сомнения по этому поводу. Это правильный подход? Что бы вы сделали по-другому?

Если вам случится что-то похожее, не могли бы вы дать мне совет, как это сделать? 1021 *? 1019 *

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...