@JayBerkutie

Как сделать авторизацию в приложении с несколькими базами данных?

Возникла задача переделать систему авторизации в приложении.
Сейчас база каждой организации развернута на отдельных поддоменах и выглядит все это так
602aca8c1725d574522656.png

Сейчас же, все надо переделать к такому виду, чтобы доступ ко всем базам был через один поддомен.
602acab96f45f303944995.png

Вопрос возникает в том, как делать запрос на проверку существования пользователя во всех базах при авторизации? Количество баз планируется увеличивать. А пользователь может одновременно находиться в нескольких базах одновременно.
  • Вопрос задан
  • 73 просмотра
Пригласить эксперта
Ответы на вопрос 2
JhaoDa
@JhaoDa
LaravelRUS Team
Создать кастомную реализацию контракта UserProvider, в которой «делать запрос на проверку существования пользователя во всех базах».
Ответ написан
@Kostik_1993
Fullstack Web Developer | PHP | Laravel | Vue.js
Я бы вам посоветовал объединить и вынести юзеров в еще одну базу коль у вас их и так как говна. Это будет куда элегантнее чем сейчас, тем более что планируете их рост.

Кстати, судя по всему у вас сейчас неправильная архитектура, которая требует переработки, в вашем случае идет нарушение нормальных форм

По идеи у вас должно быть примерно так

users - Таблица всех пользователей
organizations - все фирмы
user_organization - связь привязка юзера к организации, но дополнительно здесь вы указываете какая роль у вашего пользователя именно в данной организации, то есть поля такие user_id, organization_id, role_id

Ну и т.д., например возьмем еще какой-нибудь тип данных, пусть это будут услуги оказываемые организацией, тогда они будут иметь таблицу services c полем organization_id и остальными полями

В общем все достаточно просто распределяется

udivlennyj-bagz-banni-mem-shablon.jpg
Ответ написан
Ваш ответ на вопрос

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

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