Laravel Auth с разным подключением для каждого поддомена?

#laravel #authentication #database-connection #subdomain

#laravel #аутентификация #подключение к базе данных #поддомен

Вопрос:

Я создаю приложение, в котором каждый поддомен имеет свою собственную базу данных. Например:
«example1.app.dev» использует базу данных «example1_dbo»
«example2.app.dev» использует базу данных «example2_dbo»

У каждого поддомена есть свои пользователи, что означает, например:
пользователь_ex1 может войти только в example1.app.dev, потому что он установлен в example1_dbo
пользователь_ex2 может войти только в example2.app.dev, потому что он установлен в example2_dbo

Как мне достичь этого с помощью Laravel Auth? В основном я установил маршрутизацию поддомена:

 Route::domain('{account}.myapp.dev')->group(function () {})
  

И я настроил подключения к базе данных в config/database.php и файл env.
Я использовал эту концепцию в моделях Eloquent с Model->setConnection($account)
Но этот метод исчерпывает себя, пока приложение растет…

Я ищу промежуточное программное решение, в котором я могу изменить подключение к БД по умолчанию для запроса глобально, а также для аутентификации, пока мне не удалось заставить аутентификацию работать.

Ответ №1:

Вы пробовали этот пакет:https://github.com/stancl/tenancy

Это предусмотрено из коробки. надеюсь, это полезно.

Комментарии:

1. Спасибо! Это было очень полезно. Я прочитал документы и восхищаюсь концепцией. В итоге я получил промежуточное программное обеспечение, аналогичное концепции арендатора, в котором я меняю dbo conn и locale по умолчанию. Работает как шарм.