@KartoshkaD

Как спроектировать отношения между сущностями в многопользовательской системе?

Привет, тостер!
1. В системе есть администраторы, которые имеют доступ к админ.панели через браузер. Возможно, в будущем будет и мобильное приложение. Имеют несколько уровней доступа (роли, права).
2. Есть пользователи-клиенты. Могут заказывать услуги и следить за выполнением.
3. Есть пользователи-исполнители. Могут брать оставленные пользователем-клиентом заказы и выполнять.
4. Сейчас каждый из этих трех пользователь лежит в отдельной таблице. Это прям ужасно.
5. Администраторы авторизуются с помощью пары логин-пароль, остальные - номер телефона + смс-код.

Как правильно спроектировать такую систему? Есть идея с вынесением общих полей в UserInfo, а дополнительной информации о клиенте или исполнителе - в CustomerInfo и EmployeeInfo. При этом, UserInfo имеет внутри себя ссылку на и на CustomerInfo, и на EmployeeInfo. Это связано с тем, что Customer может быть и Employee тоже.
Как авторизовывать таких пользователей? По одной ссылке или по разным?
  • Вопрос задан
  • 103 просмотра
Пригласить эксперта
Ответы на вопрос 1
index0h
@index0h
PHP, Golang. https://github.com/index0h
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы