@mrSeller

Как разнести приложение по поддоменам, сохранив на всех частях одну аутентификацию?

Сам не совсем понимаю как задать вопрос, поэтому изначально он может быть непонятен.

У меня есть приложение, которое состоит из двух лендингов, личного кабинета и админской части.
Хотелось бы отделить каждый лендинг в отдельные приложения на отдельные поддомены, личный кабинет так же, и админку тоже. А главную оставить как общую площадку для различного контента.

Но я не совсем понимаю как это сделать.
Например, везде должна быть одна авторизация, т.е. если пользователь зашел в ЛК, то и в лендингах у него тоже были соответствующие изменения с помощью Auth. И как-то не догоняю, как разные приложения будут использовать одну авторизацию (не силен в терминологии).

И оффтоп.
В нем (приложении) есть 3 типа юзеров: 1 - покупатели, 2 - поставщики, 3 - администрация.
Правильно ли использовать одну таблицу для всех?
Для различия между 1 и 2 я использую столбец type и role_id=0, а для администраторов используется role_id выше 0.
Но мне кажется такая система немного запутанной и сложной для дальнейшего усовершенствования.
  • Вопрос задан
  • 247 просмотров
Решения вопроса 2
Wolfnsex
@Wolfnsex
Если не хочешь быть первым - не вставай в очередь!
Как разнести приложение по поддоменам, сохранив на всех частях одну аутентификацию?
Подозреваю, что для этого самым простым решением будет использовать использовать одну и ту же базу, в которой эти пользователи лежат. Например, так. Прописать отдельное подключение до базы с пользователями можно как в модели, так и при использовании DB::.

Второй вариант, более сложный - проксировать данные при их обновлении либо на уровне самой БД (не все БД такое умеют к сожалению, синхронизировать отдельные таблицы в режиме "мульти-мастер"), либо с помощью программы работающей в фоновом режиме, которая будет каждый N-секунд/минут/часов/etc проверять данные в обоих БД и синхронизировать их.

Правильно ли использовать одну таблицу для всех?
А в чем Вы видите потенциальную проблему такого подхода?

Но мне кажется такая система немного запутанной и сложной для дальнейшего усовершенствования.
Лично мне, сложной она не кажется и особо запутанной тоже. Другой вопрос в том, что в Laravel есть уже готовая система и авторизации, и аутентификации и т.д., в т.ч. различные механизмы схожие с теми, что Вы обозначили как "права доступа".
Ответ написан
@vimes7
Гуглите клиент-серверную архитектуру и web API. По сути у вас будет один API-сервер, к которому будут подключаться несколько клиентов.

По юзерам: почему нельзя просто создать таблицу roles со всеми типами пользователей и связать ее с users?
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы